Doxygen中的重复输出
我正在使用Doxygen生成开发人员文档。它正确地解析了所有文件,但输出在成员函数列表和类图中生成了重复的条目 有什么想法吗Doxygen中的重复输出,doxygen,Doxygen,我正在使用Doxygen生成开发人员文档。它正确地解析了所有文件,但输出在成员函数列表和类图中生成了重复的条目 有什么想法吗 我遇到了这个确切的问题,并发现我意外地在输入行中指定了一个生成文件夹,因为递归处于启用状态,例如 文件结构示例: ./ MyLibrarySources/ Libs/ build/ Doxyfile: INPUT = ./ MyLibrarySources/ ... RECURSIVE = YES 这导致Doxygen从两个不同的位置解析头:一个来
我遇到了这个确切的问题,并发现我意外地在
输入
行中指定了一个生成文件夹,因为递归
处于启用状态,例如
文件结构示例:
./
MyLibrarySources/
Libs/
build/
Doxyfile:
INPUT = ./ MyLibrarySources/ ...
RECURSIVE = YES
这导致Doxygen从两个不同的位置解析头:一个来自MyLibrarySources/
,另一个来自build/
,产生重复的成员和其他奇怪的结果
简单的解决方案是将生成目录添加到排除
行,例如:
EXCLUDE = "build"
这使得Doxygen无法在两个不同的位置解析相同的头文件。是的,在源代码构建目录通常是一个坏主意,把它们放在别处。在我的例子中,默认情况下,不是从IDE发布的命令行生成都会出现在那里
编辑说明:由于
输入
行中的双重规范,我错误地认为源文件被解析了两次。事实并非如此。Doxygen在这方面很聪明,自从我使用Doxygen以来,不会两次解析同一个物理文件。如果有的话,你可以发布选项吗?我正在使用“doxygen Spectr”来启动它,Spectr是doxygen文件的名称。我正在使用Doxygen配置文件中的所有默认值,但设置Recursive=YES除外。您使用的是哪个版本的Doxygen,在哪个平台上,因为我无法重现问题?@albert您的命令促使我进一步调查,事实证明,真正的问题是构建目录没有被排除在解析之外。我在调试时同时更改了doxy文件中的这两个内容,并假设是输入
解决了它,而不是排除
。现在这个答案实际上会帮助人们!;)