1

Doxygen 1.8.4 を使用しています。以前の Doxygen バージョン 1.7.1.2 では発生しなかった次の問題が見られます。

TestProject1 と TestProject2 の 2 つのプロジェクトを作成しました。


TestProject1

次のように、1 つのヘッダー ファイル XBO.h が含まれます。

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

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

このファイルを dox​​ygen で実行すると、ドキュメント ディレクトリに次のようなタグ ファイルが作成されます。

<?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>

TestProject2

次のように、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 の名前空間リストに含まれます。

つまり、プロジェクトが別のプロジェクトによって参照され、そのプロジェクトにネストされた名前空間が含まれている場合、最初のプロジェクトの最上位の名前空間 (つまり、名前空間がネストされている名前空間) が 2 番目のプロジェクトの doxygen ドキュメントに表示されます。

4

0 に答える 0