【发布时间】:2014-01-29 14:38:51
【问题描述】:
我是一个相当新的 Doxygen 用户,我在 Win7 64 位上使用 Doxygen 1.8.6。
我已经为 INPUT 标签指定了一个特定的目录,但我可以看到 doxygen 正在搜索除此之外的其他目录: - 它在调用它的目录中搜索(与我的 doxyfile 所在的位置相同)和一些更高级别的目录。
如果我为 INPUT 启用“RECURSIVE”功能,那么它会在我调用 doxygen 的所有文件夹中递归搜索。这需要很多时间,尤其是当它搜索 doxygen 输出目录时,该目录是我调用 doxygen 的子目录(以及 doxyfile 所在的位置)。
Doxygen 在搜索“INPUT”标签指定的目录之前,正在搜索这些(对我而言)意想不到的目录。
我的目录结构是这样的:
- /构建/产品
- /build/productA/
- /build/productA/doxygen
- /build/productA/doxygen/doxyfile
- /build/productA/doxygen/output_dir/*
- /build/productB/
- /build/productB/doxygen
- /build/productB/doxygen/doxyfile
- /application/*
- /hal/*
- /服务/*
这不是我所期望的行为。
Doxygen 的行为是否正确?
是否有一些我应该更改的功能?
感谢您的意见
/迈克尔
【问题讨论】:
-
这是出乎意料的,因此最有可能的候选人是您的 INPUT 行的格式有问题。你能和我们分享这个或其中的一部分吗?请逐字逐句,因为该行的标点符号很重要。
-
INPUT 行如下:
INPUT = ../../../service/communication/ -
(之前现在已删除的评论有误)。是否确实找到了正确的文件夹以及搜索了意外的集合?无论哪种方式,我都有些困惑。您如何看到它正在搜索 doxygen 文件夹?
-
我找到了问题的原因 - 这是我的 Doxyfile 中的“错误配置”。我已将 EXCLUDE 标记设置为排除
../../../build/productA/doxygen/,这似乎迫使 doxygen 在该“路径”上搜索要排除的文件。我清除了我的 EXCLUDE 标签,现在它按预期运行。在看到行为并重新阅读 EXCLUDE 标签的评论后,我现在理解了它背后的功能。感谢您的反馈 - 它让我再次分析 Doxygen 输出,这次我明白了 :) -
很高兴能提供帮助。在 INPUT 行上要注意的一件事是它是 空格 分隔的。示例文本,例如对于 FILE_PATTERNS,建议这些列表以逗号分隔;该格式不起作用,并且可能导致令人困惑的结果 - 这就是我怀疑与您的原始问题有关的问题。