Doxygen在指定源目录时无法找到文件

17

你好,

我尝试使用doxygen从一组文件夹中生成代码文档。我的文件夹结构如下:

+root
+-include/
+-include/subdir/file.h
+-src
+-src/subdir/file.cpp
+-Documentation/doxygen.config

然后在配置文件中,我有以下设置在“default”配置文件中(这在文档和其他问题中已经说明):

INPUT                  = "../include" "../src"
RECURSIVE              = YES

问题在于运行这个配置时,HTML输出不包含任何文档。当我添加所有单独的文件时,

INPUT  = "../include/subdir/file.h"

当将文件添加到输入中时,doxygen会为这些文件生成文档。是否有默认配置中需要包含的其他设置,以便doxygen找到文件并创建文档?

我在Linux Ubuntu(12.04 LTS)上使用doxygen 1.8.4。

谢谢提前任何提示或建议。


我个人不太喜欢使用RECURSIVE,因为它往往会带来太多的东西。但是,如果你(a)指定文件夹路径,即../include/subdir,并关闭递归,或者(b)尝试不加引号的../include和../src,会发生什么呢?理论上不应该有任何区别,但是比较你的和我的doxyfiles,这就是我能想到的所有问题了。 - Cheeseminer
1
今天我遇到了与你描述的类似问题,问题出在FILE_PATTERNS设置上。当我清除它后,doxygen就能正常运行了。 - jcxz
@jcxz 嗯,我尝试了你的FILE_PATTERNS技巧,但对我没用...我仍然得列出所有目录... - Alexis Wilke
1
你的输入路径是相对于包含Doxygen配置文件的目录指定的。这也是您调用Doxygen的目录吗?Doxygen可能会从PWD而不是包含配置文件的目录解析相对路径。此外,请记住,头文件需要包含“@file”指令才能包含在文档中 - 如果文件在INPUT选项中明确列出,则可以绕过此操作。 - simon.watts
2个回答

10

你可以直接使用../root,而不是声明../include../src

同时确保不要在完整的绝对路径周围加上引号,因为没有这些也能正常工作。

确保递归设置为YES,就像你所做的那样。

将目录放入INPUT标签中对我有效。


2

我不确定您是否仍需要这个,但是我已经为此苦苦挣扎了一段时间,并找到了解决方案(至少对我而言)!

INPUT 留空并将 RECURSIVE 标签设置为 YES 。 我不是专家,也许其他更熟悉这些标签的人可以给出更好的答案,我只是偶然发现了解决方案。

在您的源文件最顶部放置:

/// \file

这告诉Doxygen将其包含在HTML中,并显示在文件选项卡中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接