合并doxygen模块

时间:2012-07-19 22:10:27

标签: doxygen

我有大量的代码,我正在运行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
  1. 这应该合并或链接main下的所有文档,我可以浏览'a'全局,模块,页面等?或者,如果我从'main'内部明确交叉引用'a'中的文档实体,这是否只会生成'a'的链接?
  2. 如果这应该有效,那么对我的语法不正确的想法?我已经尝试过各种方法来定义TAGFILES,是相对于main.dox文件的输出目录吗?到a.tag文件?或者到a / html目录?
  3. 如果我偏离基地TAGFILES不能这样工作,还有另一种方法将doxygen目录集合成一个吗?
  4. 感谢。

1 个答案:

答案 0 :(得分:5)

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

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

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

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