2016-12-03 7 views
0

これは私のここでの最初の質問です。doxygen codeタグは同じページのhtmlタグを壊します

私のC++コードを文書化するためにdoxygenを使用すると、私は奇妙な問題が発生します。ページに\ codeタグがあるとすぐに、すべてのHTMLタグが出力で処理されません。

最初の例は、私がhtmlタグから期待したものを示しています。 2番目の例では、doxygen \ codeタグを追加するだけで、完全な出力が破損しています。

例1:

//! \page testpage Test Page 
//! 
//! <ul> 
//!  <li>\ref test_section1</li> 
//!  <li>\ref test_section2</li> 
//! </ul> 
//! 
//! \section test_section1 Test Section 1 
//! 
//! Any text. 
//! 
//! \section test_section2 Test Section 2 
//! 
//! Any text. 
//! <br><br> 

doxygen result of the first example

例2:私はLinux上でdoxygenの1.8.5を使用していますところで

//! \page testpage Test Page 
//! 
//! <ul> 
//!  <li>\ref test_section1</li> 
//!  <li>\ref test_section2</li> 
//! </ul> 
//! 
//! \section test_section1 Test Section 1 
//! 
//! Any text. 
//! 
//! \code 
//! if (x==1) return; 
//! \endcode 
//! 
//! \section test_section2 Test Section 2 
//! 
//! Any text. 
//! <br><br> 

doxygen result of the second example

+0

現在のバージョン(1.8.12)ではどうなりますか? – albert

+0

外部ソース/画像への参照は、時間の経過と共に消える可能性があるため、使用しないでください。画像を質問の中に置きます。 – albert

答えて

1

現在のバージョンのdoxygen(1.8.12)を使用することで問題は解決します。

doxygen設定ファイル(Doxyfile)でMarkdownサポート(MARKDOWN_SUPPORT = NO)を無効にすると、1.8.5でより良い結果が得られます。

良い結果

また、コードの次の形式を使用することによって得ることができます。

/** 
    \page testpage2 Test2 Page 

    <ul> 
    <li>\ref test_section1</li> 
    <li>\ref test_section2</li> 
    </ul> 

    \section test_section1 Test Section 1 

    Any text. 

    \code 
    if (x==1) return; 
    \endcode 

    \section test_section2 Test Section 2 

    Any text. 
    <br><br> 
*/ 

これはMARKDOWN_SUPPORTの設定とは無関係に進みます。

アドバイスは現在のバージョン(1.8.12)を使用しています。

+0

私はプログラムを更新するためのルート権限を持っていない会社のコンピュータです。さらに、opensuse 13.1であり、このディストリビューションには実際のパッケージがないようです。 – Edi

+0

MARKDOWN_SUPPORT = NOに設定すると、結果がさらに良くなります。唯一の問題は、各コード行の前にアスタリスクが表示されることです。しかし、C++のコメントの代わりにCのコメントを使用すると、期待通りに結果が得られます(MARKDOWN_SUPPORTの設定に関係なく)。あなたの答えはまさに私が探しているものです。ありがとう! – Edi

+0

doxygenには '\ tableofcontents'コマンドもありますので、手動で作成する必要はありません。 – doxygen

関連する問題