4

我有大量代码正在运行 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 只是输入具有主页标记的降价文件并引用其他项目标记文件。

OUTPUT_DIRECTORY=output/main
INPUT = main.md
TAGFILES=output/a/a.tag=output/a/html
  1. 这是否应该合并或链接 main 下的所有文档,我可以在其中浏览“a”全局变量、模块、页面等?或者,如果我从“main”内部明确交叉引用“a”中的文档实体,这是否只会生成指向“a”的链接?
  2. 如果这应该有效,对我的语法不正确的地方有什么想法吗?我尝试了各种方法来定义 TAGFILES,输出目录是否相对于 main.dox 文件?到 a.tag 文件?还是到a/html目录?
  3. 如果我不在基地,TAGFILES 不能以这种方式工作,是否有另一种方法可以将多组 doxygen 目录合并为一个?

谢谢。

4

1 回答 1

7

我建议您阅读本主题,了解我建议如何使用标记文件以及应适用的条件:https ://stackoverflow.com/a/8247993/784672

要回答您的第一个问题:doxygen 通常不会将各种索引文件合并在一起(然后不会获得任何性能)。尽管对于某个部分,您仍然可以通过设置ALLEXTERNALS为来获取索引中的外部成员YES

Doxygen 将(自动)链接来自通过标签文件导入的其他来源的符号。所以一般来说你应该把你的代码分成或多或少的独立模块/组件/库,如果一个这样的模块依赖于另一个,那么导入它的标签文件,以便 doxygen 可以链接到另一个文档集。如果您运行 doxygen 两次(一次用于标记文件,一次用于文档),您还可以解决循环依赖关系(如果有)。

在我的例子中,我创建了一个包含所有模块链接的自定义索引页面,并在每个生成的页面的菜单中创建了一个自定义条目,链接回该索引(参见http://www.doxygen.nl/manual/customize.html #layout)如何将用户定义的条目添加到导航菜单/树。

于 2012-07-20T15:37:34.887 回答