4

doxygenを実行しているコードが大量にあります。パフォーマンスを向上させるために、モジュールに分割し、結果を1セットのドキュメントにマージしようとしています。タグファイルでうまくいくと思いましたが、設定が間違っているか、機能が誤解されています。

ディレクトリは次のように配置されます。

root +
     |-src+
     |    |-a
     |
     |-doc+
          |-a.dox
          |-main.dox
          |-main.md
          |-output+
                  |-a+
                  |  |-html
                  |-main+
                        |-html

'a'に加えて、他のピアディレクトリがありますが、1つから始めています。

a.doxは出力とタグファイルをroot/doc/outputに生成します

OUTPUT_DIRECTORY=output/a
GENERATE_TAGFILE = output/a/a.tag
INPUT=../src/a

main.doxは、メインページタグを持ち、他のプロジェクトタグファイルを参照するマークダウンファイルを入力するだけです。

OUTPUT_DIRECTORY=output/main
INPUT = main.md
TAGFILES=output/a/a.tag=output/a/html
  1. これは、「a」グローバル、モジュール、ページなどを参照できるmainの下のすべてのドキュメントをマージまたはリンクする必要がありますか?または、「main」の内側から「a」のドキュメント化されたエンティティを明示的に相互参照した場合にのみ、「a」へのリンクが生成されますか?
  2. これがうまくいくはずなら、私の構文が間違っているところについて何か考えはありますか?TAGFILESを定義するさまざまな方法を試しましたが、出力ディレクトリはmain.doxファイルに関連していますか?a.tagファイルに?またはa/htmlディレクトリに?
  3. 私がベースから外れている場合、TAGFILESはこのように機能しませんが、doxygenディレクトリのセットを1つにマージする別の方法はありますか?

ありがとう。

4

1 に答える 1

7

タグファイルの使用を推奨する方法と適用する条件について、このトピックを読むことをお勧めします: https://stackoverflow.com/a/8247993/784672

最初の質問に答えるには: doxygen は通常、さまざまなインデックス ファイルを一緒にマージしません(その場合、パフォーマンスは向上しません)。ALLEXTERNALSパーツの場合は、 に設定することで、インデックス内の外部メンバーを引き続き取得できますYES

Doxygen は、タグ ファイルを介してインポートされた他のソースからシンボルを (自動) リンクします。したがって、一般的には、コードを多かれ少なかれ自己完結型のモジュール/コンポーネント/ライブラリに分割し、そのようなモジュールが別のモジュールに依存している場合は、そのタグ ファイルをインポートして、doxygen が他のドキュメント セットにリンクできるようにする必要があります。doxygen を 2 回 (タグ ファイル用に 1 回、ドキュメント用に 1 回) 実行すると、循環依存関係がある場合はそれらを解決することもできます。

私の場合、すべてのモジュールへのリンクを含むカスタム インデックス ページを作成し、生成された各ページのメニューに、このインデックスにリンクするカスタム エントリを作成しました ( http://www.doxygen.nl/manual/customize.htmlを参照)。 #layout ) ユーザー定義のエントリをナビゲーション メニュー/ツリーに追加する方法。

于 2012-07-20T15:37:34.887 に答える