使用标记文件时,Doxygen重复锚点

时间:2015-07-01 15:42:20

标签: doxygen

所以我有一些用doxygen记录的项目(它必须是doxygen)。我为每个项目单独运行doxygen并使用"链接到外部文档" http://www.doxygen.nl/manual/external.html以便连接文档。例如,我在另一个使用它的项目中导入库项目的标记文件。这样,当在其他项目文档中使用它们时,会自动生成到库类的链接。

现在针对这个问题,假设我有一个库libA,它在另一个库libB中使用。 libA和libB各有一个主页面。在libB的文档中,我导入了libA的标记文件。到目前为止一切顺利,但现在我有第三个项目,让我们称之为app,它同时使用libA和libB。我导入两个标签文件和链接适用于两者,但它也抱怨libA主页锚点是重复的。我知道它们是,因为它们是通过libB和libA直接导入的,但是如果我不在app中导入libA标记文件,则不会创建libA类的链接。

现在,如果我只导入两个标记并忽略警告,结果文档似乎没问题,但是警告会使日志文件混乱,所以我可能会错过其他一些警告,例如我忘记记录方法或其他内容。 / p>

那么,任何想法如何解决这个问题?这是doxygen中的一个错误吗?我可以抑制这个特定的警告吗?有没有更好的方法来记录像doxygen那样的项目集合?

1 个答案:

答案 0 :(得分:1)

我不是专家,但我认为你可以通过为libB运行doxygen两次来解决这个问题。第一次设置GENERATE_TAGFILE但不设置TAGFILES,以便为libB生成的标记文件只是。然后修改Doxyfile以正常链接libA标记文件到TAGFILES,但禁用GENERATE_TAGFILE以便不覆盖libB标记文件的干净版本。

如果它的行为应该如此,那么你将获得一个仅用于libB的标记文件,不会引用libA,你可以在app上运行doxygen时使用它,但是libB的实际html文档将正确链接到libA的文档。