3

質問を投稿する前にサイトを検索しましたが、答えが見つかりませんでした。

私の仕事は、さまざまな種類のハードウェアのインストール オプションを備えたソフトウェアのユーザー マニュアルを作成することです。より明確にするために、ユーザーはハードウェア A、B、または C などのインストールを選択します。その場合、一部の機能が有効になり、一部の機能が無効になります。

ユーザー マニュアルは基本的に、関連する Doxygen コマンド (addtogroup、defgroup、ref など) を含むテキスト ファイル (.txt) です。

インストール オプション A を使用してハードウェア B の情報を除外する場合、たとえばハードウェア A のユーザー マニュアルに情報を自動的に追加する方法を見つけようとしています。

Doxygen のマニュアルと、これを含むさまざまなフォーラムを検索しましたが、これまでのところ、うまくいかない不器用なアイデアを思いつきました。

*** This is my manual.txt file. The following is the relevant piece. ***

/*! \defgroup info1 Scripts
    \ingroup manual
    Several  scripts are provided to help the user perform sophisticated tasks. 

\if \$(OPTION_SETUP)=OPTION1
    <ul>
    <li> \ref option1_related_section 
    <li> \ref option1_related_example_text 
    </ul>
\endif

\if \$(OPTION_SETUP)=OPTION2
    <ul>
    <li> \ref option2_related_section
    <li> \ref option2_related_example_text
    </ul>
\endif
*/

これは機能しません。私は開発者ではなく、何かが足りないことを知っています。

\if と \cond はセクション名でのみ使用されるようです。しかし、インストール オプションに応じて、manual.txt (開発者ではなくユーザー向けのユーザー マニュアル) のテキストを選択する条件を使用する方法がわかりませんでした。

それはDoxygenで実際に可能ですか?

4

1 に答える 1

2

\ifや\condなどは、ENABLED_SECTIONSのDoxyfileで定義されている変数のみを使用します(条件には、&&、||、!で単純な式を使用できます)。したがって、'='を使用して式を使用することはできません。あなたの場合、2つのDoxyfileをオプションA用とオプションB用に作成できます。Doxyfileはincludeステートメントを使用してパーツを共有できることに注意してください。1つのDoxyfileでは、ENABLED_SECTIONSでOPTION1を定義し、他のOPTION2では、ifステートメントは\ifOPTION1と他の\ifOPTION2を読み取ります。

于 2013-02-06T17:25:01.720 に答える