我有大量的代码,我正在运行doxygen。为了提高性能,我试图将其分解为模块并将结果合并到一组文档中。我认为标记文件可以解决问题,但要么我配置错误,要么我误解它是如何工作的。
目录布局:
root +
|-src+
| |-a
|
|-doc+
|-a.dox
|-main.dox
|-main.md
|-output+
|-a+
| |-html
|-main+
|-html
除了'a'之外,还有其他对等目录,但我从一个开始。
a.dox在root / doc / output
中生成输出和标记文件OUTPUT_DIRECTORY=output/a
GENERATE_TAGFILE = output/a/a.tag
INPUT=../src/a
main.dox只输入具有主页标记的markdown文件,并引用其他项目标记文件。
OUTPUT_DIRECTORY=output/main
INPUT = main.md
TAGFILES=output/a/a.tag=output/a/html
感谢。
答案 0 :(得分:5)
我建议您阅读本主题,了解我建议如何使用标记文件以及应该适用的条件:https://stackoverflow.com/a/8247993/784672
回答你的第一个问题:doxygen通常不将各种索引文件合并在一起(然后就不会获得性能)。虽然对于某个部分,您仍然可以通过将ALLEXTERNALS
设置为YES
来获取索引中的外部成员。
Doxygen将(自动)链接来自通过标记文件导入的其他来源的符号。因此,一般来说,您应该将代码划分为或多或少自包含的模块/组件/库,如果一个这样的模块依赖于另一个,则导入其标记文件,以便doxygen可以链接到其他文档集。如果你运行doxygen两次(一次用于标记文件,一次用于文档),你也可以解决循环依赖关系(如果你有的话)。
在我的情况下,我创建了一个自定义索引页面,其中包含指向所有模块的链接,并在每个生成的页面的菜单中创建了一个自定义条目,该页面链接回此索引(请参阅http://www.doxygen.nl/manual/customize.html#layout)如何添加用户定义的进入导航菜单/树。