2

名前空間内に埋め込まれたクラスを文書化しようとしていますが、使用例を示したいと思います。例を書いて含めましたが、それらは[例]タブに表示されます。ただし、クラス自体では参照されません。たとえば、このページのコードから、Doxygenコマンドは次のように記述されています。

/** \example example_test.cpp
 * This is an example of how to use the Test class.
 * More details about this example.
 */

Doxygenはコマンドとファイルを解析し、Testクラスが参照されていることを認識しているようです。それは私には起こっていないようです。この機能は十分に文書化されておらず、Googleにとってはほとんど不可能です。

これは私のコードの一般的なレイアウトです:

namespace exampleSpace
{
  ///Doxygen documentation

  class exampleClass {};

  ///@example example1.cpp
  ///  example1 description
  ///@example example2.cpp
  ///  example2 description
}

例の説明では、公式ドキュメントにあるものと同様に、クラスに名前を付けています。しかし、Doxygenは私のものではなく彼らのものを認識しているようです。

私のサンプルコードは完全で、正しくコンパイル/実行されます。

では、これらのコマンドを配置する正しい場所はどこにあるので、Doxygenはそれらがこの特定のクラスの例であることを認識しますか?

編集:Doxygenは、コード内のクラスおよびメンバー関数に正常にリンクしているため、実際にソースを解析しているようです。ただし、クラスページ自体はファイルにリンクしていません。

4

2 に答える 2

2

私はそのために使用\snippetしました。別のファイルを参照します。そのファイルでは、コードブロックを[mytag]領域で囲むことができます。これらは、\snippet使用されている場所に表示されます。

https://stackoverflow.com/a/35759133/356726およびhttps://stackoverflow.com/a/16034375/356726も参照してください

于 2016-03-04T18:10:02.517 に答える
1

この時点での推測ですが、名前空間が原因でDoxygenが一致していないに違いありません。

リンクを実現するためのいくつかのアイデア:

  • 例のすべての名前の名前空間を明示的に修飾します
  • 名前空間の例にコードを入れます
于 2012-07-30T19:43:08.847 に答える