4

doxygen のページとグループについて質問があります。@defgroup および @ingroup コマンドを使用してクラスなどをグループ化したプロジェクトがあります。これまでのところ、これはうまく機能します。

ここで、マークダウン ページを使用してプロジェクトに特別なドキュメントを追加したいと思います。これらのページは、専用のモジュール (グループ) に表示されます。@page および @subpage コマンドを使用してページを作成しようとしました。それは問題なく動作しますが、ページはメニューにプレーンに表示されます。

そこで、@ingroup でグループに追加しようとしました。しかし、それは私が推測したようには機能しません。モジュール(グループ)にページを追加することはできますか?

結果は次のようになります。

Project
|-- Modules
| |-- "Module1"
| | |-- documentation page1 (from *.md file)
| | |-- class documentation
| |-- "Module2"
| | |-- documentation page2
| | |-- class documentation

あなたが私を助けてくれることを願っています!

4

2 に答える 2

6

説明したケースでは、グループのドキュメントには 2 つのタイプがあります。

  1. ソースファイルからのドキュメンテーション
  2. マークダウン ファイルからのドキュメント

そして、このグループのツリー構造を作成する必要があります。

たとえば、次の 2 つのグループを作成します。

  1. ソース コードのドキュメントを含むメイン アプリケーション
  2. ファイルlibrary.mdにドキュメントを含むライブラリ

メイン アプリケーショングループのソース コード (C++ 用) は次のようになります。

/** @defgroup app Main Application */

/** @addtogroup app
  * @brief Main application description.
  *
  * @{
  */

int main() { return 0; } //do nothing

/** @} */

MarkDown ファイルlibrary.mdには、単純なテキストが含まれています。

Library File {#library}
============

Library Page Content from library.md.

構造を定義するために、コンテンツを含むmainpage.mdファイルを作成します。

Pages {#mainpage}
============

Content:

- @subpage library

@defgroup Library
@addtogroup Library
@copydoc library
@{
@}

@subpageツリーから 1 つのルート アイテム (ページ) までのすべてのページを非表示にするために使用される mainpage.md のタグ。 @defgroupタグは、マークダウン ドキュメントの新しいグループを作成します。 @copydocタグは、ライブラリ ページからライブラリ グループにコンテンツをコピーします。

スクリーンショットでは、結果の構造を確認できます:

Doxygen のグループとページ

その場合、モジュール グループ名とページ名が異なる場合があることに注意してください。タグを使用して、MarkDown ファイルのコンテンツをソース コード ドキュメントに貼り付けることもできます@copydoc

参照: http://www.doxygen.nl/manual/grouping.html

于 2015-05-10T05:21:04.370 に答える
0

@{ および @} コマンドを使用して実行しましたが、次のように機能します-

/**  
 * @defgroup module_name Sample Module   
 * @{   
 *     @page page_name [Optional Page Heading]   
 *     here will be the texts for the page ...    
 * @}   
 */   

モジュールがどこかですでに定義されている場合は、おそらく @defgroup の代わりに @addtogroup を使用する必要があります。

お役に立てれば。

于 2013-03-05T15:16:22.127 に答える