【问题标题】:Duplicate Outputs in DoxygenDoxygen 中的重复输出
【发布时间】:2014-11-18 02:51:15
【问题描述】:

我正在使用 Doxygen 生成开发人员文档。它正确解析所有文件,但输出在成员函数列表和类图中生成重复条目。

有什么想法吗?

【问题讨论】:

  • 我已经有一段时间没有使用 Doxygen 了。如果有的话,你能发布启动选项吗?
  • 我正在使用“doxygen Spectr”来启动它,其中 Spectr 是 Doxygen 文件的名称。我使用 Doxygen 配置文件中的所有默认值,但设置 Recursive = YES 除外。

标签: doxygen


【解决方案1】:

我遇到了这个确切的问题,发现我不小心在INPUT 行中指定了一个构建文件夹,因为RECURSIVE 处于打开状态,例如,

示例文件结构:

./
  MyLibrarySources/
  Libs/
  build/

Doxyfile:

INPUT     = ./ MyLibrarySources/ ...
RECURSIVE = YES

这导致 Doxygen 解析来自两个不同位置的标头:一次来自 MyLibrarySources/,一次来自 build/,产生重复的成员和其他奇怪的结果。

简单的解决方案是将构建目录添加到EXCLUDE 行,例如:

EXCLUDE   = "build"

这使得 Doxygen 不会在两个不同的位置解析相同的头文件。是的,源代码构建目录通常是一个坏主意,将它们放在其他地方。就我而言,默认情况下,不是从我的 IDE 发出的命令行构建会去那里。

编辑说明:由于INPUT 行中的双重规范,我错误地认为源文件被解析了两次。不是这种情况。 Doxygen 对此很聪明,不会两次解析同一个物理文件?。

【讨论】:

  • 您使用了哪个版本的 doxygen,在哪个平台上无法重现该问题?
  • @albert 您的评论促使我进一步调查,结果发现真正的问题是构建目录没有被排除在解析之外。我在调试时同时更改了 Doxyfile 中的这两件事,并假设是 INPUT 解决了它,而不是 EXCLUDE。现在这个答案实际上会帮助人们! ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-14
  • 1970-01-01
  • 2013-09-11
  • 2012-12-02
  • 1970-01-01
  • 2011-05-28
  • 1970-01-01
相关资源
最近更新 更多