合并氧气模块

Edd*_*die 2 doxygen

我有大量针对doxygen运行的代码。为了提高性能,我正在尝试将其分解为模块,然后将结果合并到一组文档中。我以为标记文件可以解决这个问题,但是我配置错误或误解了它的工作原理。

目录布局:

root +
     |-src+
     |    |-a
     |
     |-doc+
          |-a.dox
          |-main.dox
          |-main.md
          |-output+
                  |-a+
                  |  |-html
                  |-main+
                        |-html
Run Code Online (Sandbox Code Playgroud)

除“ a”外,还有其他同级目录,但它们以一个开头。

a.dox生成输出和标记文件到root / doc / output

OUTPUT_DIRECTORY=output/a
GENERATE_TAGFILE = output/a/a.tag
INPUT=../src/a
Run Code Online (Sandbox Code Playgroud)

main.dox只是输入带有主页标签的markdown文件,并引用其他项目标签文件。

OUTPUT_DIRECTORY=output/main
INPUT = main.md
TAGFILES=output/a/a.tag=output/a/html
Run Code Online (Sandbox Code Playgroud)
  1. 是否应该合并或链接main下的所有文档,以便在其中浏览“ a”全局变量,模块,页面等?还是仅当我从“ main”内部显式交叉引用“ a”中的文档化实体时,这才生成到“ a”的链接?
  2. 如果这行得通,对我的语法不正确之处有何想法?我尝试了各种方法来定义TAGFILES,输出目录是否相对于main.dox文件?到a.tag文件?还是到a / html目录?
  3. 如果我不在基础上,那么TAGFILES不能按这种方式工作,是否还有另一种方法可以将多套Doxygen目录合并为一个?

谢谢。

dox*_*gen 6

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

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

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

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