현재 진행중인 C++ 프로젝트의 참조 문서를 작성하고자 Doxygen을 사용해봤다.
그리고 시각화 도구로 Graphviz를 사용했다.
기본적인 사용법은 아래 링크를 참고하여 익혔다.
Doxygen과 Graphviz 사용법 : http://5on7.blogspot.com/2016/01/08-01.html
출력 언어로 한국어를 선택하면 1.8.15 이후 버전은 업데이트가 되지 않았기 때문에 영어로 표시될 수 있다는 경고가 출력된다.
Show HTML output을 눌러 결과물을 보면 감탄을 할 수 밖에 없다.
간단한 설정만으로 이런 퀄리티로 참조 문서를 제작해준다는게 놀랍다.
(아직 진행중인 프로젝트가 구현이 덜 된 상태라 우선은 디버깅할 때 참고용으로 참조 문서를 사용해야겠다ㅋㅋ)
+추가 내용 1) Google test(Gmock)가 포함된 프로젝트에서 'Scan recursively'를 체크할 시 오류 발생
C:/Users/HOME/source/repos/week2/packages/Microsoft.googletest.v140.windesktop.msvcstl.static.rt-dyn.1.8.1/build/native/include/gtest/gtest-message.h:59: warning: Found ';' while parsing initializer list! (doxygen could be confused by a macro call without semicolon) error: C:/Users/HOME/source/repos/week2/packages/Microsoft.googletest.v140.windesktop.msvcstl.static.rt-dyn.1.8.1/license (MIT).txt: failed to translate characters from EUC-KR to UTF-8: check INPUT_ENCODING
이런 오류가 발생했는데, 아마 프로젝트와 관련 없는 파일에서 인코딩 실패가 되어 그런 것 같다.
테스트코드 부분까지 한번에 문서화 할 예정은 아니었기 때문에 'Scan recursively' 체크해제해서 해당 부분이 포함되지 않도록 했다.
추후에 프로젝트가 커지고 하위 경로에 있는 모든 문서를 문서화에 포함해야 하는 경우에는 체크하겠지만, 부분적으로 문서화를 원한다면 설정을 어떻게 해야할지 모르겠다. (아마 프로젝트 디렉토리에 신경을 써서 하위 경로에 필요한 것들만 모여 있도록 해야하지 않을까싶다.)