使用标记文件时Doxygen重复定位

使用标记文件时Doxygen重复定位,doxygen,Doxygen,因此,我有一个用doxygen记录的项目集合(它必须是doxygen)。我为每个项目分别运行doxygen,并使用“链接到外部文档”来连接文档。例如,我将一个库项目的标记文件导入另一个使用它的项目中。这样,当库类在其他项目文档中使用时,会自动生成它们的链接 现在,对于这个问题,假设我有一个库libA,它在另一个库libB中使用。libA和libB各有一个主页。在libB的文档中,我导入libA的标记文件。到目前为止还不错,但现在我有了第三个项目,我们称之为app,它同时使用libA和libB。我

因此,我有一个用doxygen记录的项目集合(它必须是doxygen)。我为每个项目分别运行doxygen,并使用“链接到外部文档”来连接文档。例如,我将一个库项目的标记文件导入另一个使用它的项目中。这样,当库类在其他项目文档中使用时,会自动生成它们的链接

现在,对于这个问题,假设我有一个库libA,它在另一个库libB中使用。libA和libB各有一个主页。在libB的文档中,我导入libA的标记文件。到目前为止还不错,但现在我有了第三个项目,我们称之为app,它同时使用libA和libB。我同时导入标记文件和链接,但它也抱怨libA主页锚重复。我意识到它们是,因为它们是通过libB和作为libA直接导入的,但是如果我不在app中导入libA标记文件,那么libA类的链接就不会创建

现在,如果我只导入这两个标记并忽略警告,那么生成的文档似乎没有问题,但是警告会使日志文件变得混乱,因此我可能会错过一些其他警告,例如,我忘记记录方法或其他东西


那么,有什么办法解决这个问题吗?这是doxygen中的一个bug吗?我可以抑制此特定警告吗?有没有更好的方法用doxygen来记录这样一组项目?

我不是专家,但我认为您可以通过为libB运行两次doxygen来解决这个问题。第一次,设置
GENERATE_TAGFILE
,但不设置
TAGFILES
,以便生成的TAGFILE仅用于libB。然后通过
TAGFILES
修改Doxyfile以正常方式链接libA标记文件,但禁用
GENERATE\u tagfile
,这样就不会覆盖libB标记文件的干净版本


如果它的行为像它应该的那样,您将得到一个只针对libB的标记文件,没有对libA的引用,您可以在应用程序上运行doxygen时使用它,但是libB的实际html文档将正确链接到libA的文档。

还没有测试,但我非常确定这会起作用。不完美,但总比没有好:)