1

我正在使用 Doxygen 1.8.4。我看到以下问题在我以前的 Doxygen 版本中没有发生 - 1.7.1.2

我创建了两个项目 - TestProject1 和 TestProject2


测试项目1

包含1个头文件XBO.h,如下:

/*! \brief XBO is boring   */
namespace XBO {

 /*! \brief XBONestedNS is also boring
    */
  namespace XBONestedNS {
}
}

通过 doxygen 运行此文件后,我在生成的文档目录中得到一个标记文件,如下所示:

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="namespace">
    <name>XBO</name>
    <filename>namespaceXBO.html</filename>
    <namespace>XBO::XBONestedNS</namespace>
  </compound>
  <compound kind="namespace">
    <name>XBO::XBONestedNS</name>
    <filename>namespaceXBO_1_1XBONestedNS.html</filename>
  </compound>
  <compound kind="dir">
    <name>TestProject1</name>
    <path>/abc1/users/someuser/userbranch/project/src/library/TestProject1/</path>
    <filename>dir_a1513fb003dc8c1062e5770a29b83379.html</filename>
    <file>XBO.h</file>
  </compound>
</tagfile>

测试项目2

包含1个头文件,如下

YBO.h
/*! \brief YBO is boring */
namespace YBO {
}

在 TestProject2 的 makefile.doxygen 中,引用了来自 TestProject1 的 .tag 文件,如下所示:

@TAGFILES = $(DOXY_OUTPUT)/../TestProject1/TestProject1.tag=../TestProject1

创建 TestProject2 的 doxygen 文件时,命名空间 XBO(来自 TestProject1)错误地包含在 TestProject2 的命名空间列表中。

换句话说,当一个项目被另一个项目引用并且该项目包含嵌套命名空间时,第一个项目的顶级命名空间(即其中嵌套命名空间的命名空间)显示在第二个项目的 doxygen 文档中。

4

0 回答 0