その後のDoxygen
バグ
入力がシフトJISのせいだからかも知れないが、バグに出会っている。#define の認識が出来ない。色々試行錯誤しているが、いまのところ解決しない。Markdownのパージングでも謎のエラーがよく出る。
やはり、入力はUTF-8にすべきだと思う。事情があってそう出来ないのだが、一段落したら実験をしてみるつもりだ。シフトJISのソースコードを全部UTF-8エンコーディングに変換して試してみる。ただし、プログラムのソースとしては文字列リテラルが壊れるのでダメになる。
後で試す/調べるために、バグが出るソースファイルを取っておかないとな。
mixed encodingの状況で使えたらいいのだが。全体で一律じゃなくて、ファイルごとのエンコーディング指定が出来ればいい。
日本語設定
大事なことを忘れていた。Doxyfileで、
OUTPUT_LANGUAGE = Japanese
これで、出力文書の自動生成部分も日本語になる。
開発中とリリース版で
Doxyfileを分けたほうがいいかも知れない。
EXTRACT_PRIVATE = YES
これとかは、リリースではNOにしたほうがいい。Doxyfile.rel, Doxyfile.devとか作って、Makefile内で切り替えるとか、かな。
グラフの描画
Doxyfileで、
HAVE_DOT = YES
とすると、Graphviz dotを使って描画をする。グラフ関係の設定項目は、
$ grep _GRAPH Doxyfile # If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for CLASS_GRAPH = YES # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for GROUP_GRAPHS = YES # If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to INCLUDE_GRAPH = YES # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH tag is set to YES then doxygen will generate a call CALL_GRAPH = NO # If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller CALLER_GRAPH = NO # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the DIRECTORY_GRAPH = YES # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that # the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 0