Doxygen 한글 문제 피하기

2009.04.13 01:12 컴퓨터/유틸리티

내가 작성한 프로그램도 한두 달 지나면 내 코드가 아닌 것처럼 생소할 때가 있습니다. 이럴 때 잘 정리된 문서와 함께 충실히 달아 놓은 주석은 매우 큰 도움이 됩니다. 그러나 주석은 프로그램 소스와 같이 모듈별로 나뉜 파일별로 입력되어 있기 때문에 파일을 쫓아 다니며 봐야 합니다.

그렇다고 프로그램을 작성하면서 따로 프로그램 소스를 위해 별도로 작성하기에는 무척 번거롭기도 하지만 매우 힘든 일입니다. 아무리 부지런하다고 해도 버전업할 때마다 문서의 내용을 갱신하기는 정말 어렵거든요. 또 버전업이 파일 한두 개의 내용이 바뀐다고 해도 변경된 내용을 누락할 수도 있습니다.

그렇다면, 프로그램을 작성하면서 충실이 달아 놓은 주석을 가지고 자동으로 문서를 만들어 내면 어떨까요? 주석만 잘 모아 놓아도 충분히 훌륭한 문서가 될 수 있습니다. 이렇게 프로그램 코드와 주석을 가지고 문서를 정리해 주는 프로그램이 있는데, 바로 Doxygen입니다.

그런데 이 글을 작성할 때 가장 최근의 버전은 1.5.8인데, 제 P.C.에 문제가 있는지, 아이콘부터 제대로 되지 않았습니다.  하는 수 없이 바로 전 버전인 1.5.7을 사용했는데, 만들어진 문서에 한글이 깨지네요. 결론부터 말씀드리면 Doxygen 1.5.0버전은 한글 깨짐 없이 문서를 작성할 수 있습니다.

그래도 1.5.0과 1.5.8. 버전 차이가 너무 나지요. 가장 최근 버전은 못 사용한다고해도 바로 전 버전인 1.5.7을 사용해 주는 것이 좋겠다는 생각이 들어 한글 깨짐 문제를 해결하는 방법을 찾아보았습니다. 그리고 다행히 아주 그림과 함께 아주 자세하게 설명된 글을 찾았습니다.

그런데 한 가지 아쉬운 점은, 문서의 내용에서는 한글이 깨지지 않는데, 탐색 트리에서는 역시 한글이 깨졌습니다.

물론 1.5.0을 사용하면 되겠지만, 저 같은 경우 모든 파일의 이름이 영문으로 되어 있어서 굳이 탐색 트리와 분류 버튼이 한글일 필요가 없습니다. 그래서 저는 Romance of Programmer글의 설명 중에 출력 언어만 영어로 선택하여 문서를 만들었습니다.

검색 트리에서 한글이 깨졌던 부분이 영어로 출력되기 때문에 문서를 보는데 불편함이 없습니다.

당연히 문서 안의 한글은 제대로 출력됩니다.

이제 시간이 날 때마다 Doxygen 문법을 학습해야 겠습니다.

이 댓글을 비밀 댓글로
    • 브링브링
    • 2009.04.13 09:26
    역시 소프트웨어 정보를 가장 유용하게 접할수 있는곳은 이곳밖에 없는것 같아요!!
    때마침 이런거에 고민하고 있었는데 감사감사~~ 복 받으실꺼에요!!
    • kaze
    • 2009.04.13 09:54
    유용한 프로그램이네요..

    혹, 이프로그램의 기능중에 변경된 사항에 대한것만 따로 정리하는 기능도 있나요?

    그건 없는것 같은데....
    • majorss
    • 2009.04.13 10:34
    http://www.nicklib.com/bbs/board.php?bo_table=bbs_lecture&sca=Doxygen
    여기 보시면 자세하게 설명이 되어있습니다..^^;

    전 VC++(6 & 2K5)를 주로 사용하다보니 클래슬랑 함수 주석은 매크로로 해서 단축키만 누르면
    Doxygen 주석형태가 자동입력되게 해서 아주 편하게 사용하고 있죠...
    • 오우, 고맙습니다. 설명이 매우 쉽고 훌륭합니다. ^^
      큰 도움을 받았습니다. 감사합니다.
  1. 뭐 솔직히 Doxygen 형식으로 주석다는 일도 만만치 않은지라 ^^
    • 지나가다
    • 2009.04.13 20:21
    이럴땐 자바라서 행복하다는...^^;;;
    • ygsun
    • 2009.05.22 19:33
    1.5.9버전에서 한글깨짐을 방지하기 위해서 DOXYFILE_ENCODING의 "UTF-8"을 CP949로 바꾸고
    INPUT_ENCODING을 EUC-KR로 바꿔 보시기 바랍니다.
    제 PC에서는 이렇게 하니 한글메뉴나 문서 내용이 정상적으로 나오는군요.
    제 동료PC에서는 위와는 반대로 DOXYFILE_ENCODING="EUC-KR", INPUT_ENCODING="CP949"로
    하니 정상으로 나오고요. OUTPUT_LANGUAGE는 Korean이고요.