【发布时间】:2012-02-11 20:30:39
【问题描述】:
我花了一些时间查看文档并从头到尾检查我的 doxy 配置文件。我在我的配置文件中删除了 doxygen,它为结构和 cpp 类生成了文档和索引,但我没有在我的源代码树中看到大量 c 函数的调用或调用者图。
谁能告诉我如何配置 doxygen 来生成这些调用树和调用者树?我确实安装了 graphviz。
【问题讨论】:
-
能否请您添加 doxygen 的输出
我花了一些时间查看文档并从头到尾检查我的 doxy 配置文件。我在我的配置文件中删除了 doxygen,它为结构和 cpp 类生成了文档和索引,但我没有在我的源代码树中看到大量 c 函数的调用或调用者图。
谁能告诉我如何配置 doxygen 来生成这些调用树和调用者树?我确实安装了 graphviz。
【问题讨论】:
您必须将HAVE_DOT、CALL_GRAPH 和CALLER_GRAPH 设置为YES。
还要确保dot 的路径在您的PATH 变量中。
如果这仍然不起作用,您可能需要设置 EXTRACT_ALL 和/或 EXTRACT_STATIC,具体取决于您的功能。
【讨论】:
DOT_PATH 手动设置路径。
EXTRACT_ALL 和 EXTRACT_STATIC 也为我工作。
doxywizard 也很有用。它为您提供了 GUI 中的所有选项。选择任何选项会显示有关该选项的快速帮助。
您可能还对COLLABORATION_GRAPH 或GRAPHICAL_HIERARCHY 感兴趣。
很方便。
【讨论】:
通过 GUI 中的“专家”选项卡控件将路径设置为“点”(/usr/local/bin/) 就成功了!
【讨论】:
对于 MacOS 用户:
将 Doxygen 和 Graphviz 安装为:
brew install doxygen
brew install graphviz
转到您的项目文件夹,然后从终端设置到此路径运行
doxygen -g
将生成一个 doxygen 文件,命名为 Doxyfile。继续在任何编辑器中打开此文件并找到这些参数并将它们的值替换为 YES 在它们的位置:
HAVE_DOT = YES
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
CALL_GRAPH = YES
CALLER_GRAPH = YES
DISABLE_INDEX = YES
GENERATE_TREEVIEW = YES
RECURSIVE = YES
您还可以在此 Doxyfile 中设置项目的名称。保存文件,然后在终端中运行此命令:
doxygen Doxyfile
这将生成另外两个文件夹,分别命名为 html 和 latex。转到html 文件夹并打开annotated.html 以查看项目的所有详细信息。您还将查看嵌入在 html 中的相关调用图的 png 图像(例如,与某些函数/类)。
【讨论】:
我的 C 全局函数也遇到了同样的问题。启用 CLANG_ASSISTED_PARSING 确实有助于显示某些函数的调用图,但不是全部。
【讨论】: