这是我在这里的第一个问题。
当我使用doxygen来记录我的C ++代码时,我遇到了一个奇怪的问题。只要我在页面上有一个\ code标签,就不会在输出中处理所有html标签。
第一个例子展示了我对html标签的期望。在第二个例子中,我只添加一个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:
//! \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
顺便说一句,我在linux上使用doxygen 1.8.5。
答案 0 :(得分: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)。