首页 > 解决方案 > 为什么 doxygen 不创建我的 C++ 代码的调用图?

问题描述

我已经从以下站点下载了源代码:https ://github.com/ApolloAuto/apollo/blob/master/modules/control/integration_tests/simple_control_test.cc我想分析代码的模块如何相互交互. 因此,我做了一个网络搜索,发现 Doxygen 可以做这样的事情。我完全按照此处描述的步骤进行操作:https ://www.youtube.com/watch?v=mgVgZjaeNkw 但是,当我导航到上面教程中所示的“html”文件夹并单击 index.html 文件时我明白了:

氧气返回的结果

如您所见,没有文件选项卡(如视频中所示)或任何有关代码的信息。我是不是忘记了什么?我能做些什么?

标签: c++documentationdoxygen

解决方案


最可能的问题是没有使用正确的设置,因为可能没有为 doxygen 记录代码。

所需设置为 YES:

  • HAVE_DOT
  • CALL_GRAPH
  • CALLER_GRAPH
  • 提取所有
  • EXTRACT_PRIVATE
  • EXTRACT_PACKAGE
  • EXTRACT_STATIC
  • EXTRACT_LOCAL_CLASSES
  • EXTRACT_LOCAL_METHODS
  • EXTRACT_ANON_NSPACES
  • 递归的

有关这些变量的含义,请参阅 doxygen 手册(还有更多可能性)。

我刚刚在根目录下做了一个测试,这里创建了一个默认的doxygen配置文件(Doxyfile):

  • doxygen -g

并编辑了文件:

  • INPUT = apollo-master/modules/common
  • 上面提到的其他变量,除了RECURSIVEtoYES

我运行doxygenhtml\index.htmldoxygen (firefox html/index.html_调用者图。ExportFlagsExportFlags


推荐阅读