【问题标题】:Merging doxygen modules合并 doxygen 模块
【发布时间】:2012-07-19 04:22:40
【问题描述】:

我有大量代码要运行 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 只是输入带有 mainpage 标签的 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 目录合并为一个?

谢谢。

【问题讨论】:

    标签: doxygen


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 太好了,帮助很大。谢谢。
    猜你喜欢
    • 2011-02-02
    • 1970-01-01
    • 2013-01-21
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多