我正在尝试使用Doxygen来记录一些选项控制宏符号的功能,例如:
//! \def BOOST_SOMEFEATURE
/*! \brief Option macro that is not normally defined
* but can optionally be defined by consumers to activate the option.
*/
但是这不会被编入索引,并且注释将被忽略,因为宏未定义。
只有像#define
一样,Doxygen宏符号条目才会在文档中生成
#define BOOST_SOMEFEATURE
在标题和其他文件中。
我可以强制宏符号的文档除了令人讨厌的软糖之外
#undef BOOST_SOMEFEATURE
或者可能包括一个虚拟.cpp文件,其中包含控制选项的所有宏符号的#define
s?
#define BOOST_SOMEFEATURE
#define BOOST_SOMEOTHERFEATURE
...
请执行下列操作:
PREDEFINED = _DOXYGEN_
#define
宏放在#ifdef _DOXYGEN_
部分:
#ifdef _DOXYGEN_
/*!
* Documentation describing the BOOST_SOMEFEATURE macro.
*/
#define BOOST_SOMEFEATURE
/*!
* Documentation describing the BOOST_SOMEOTHERFEATURE macro.
*/
#define BOOST_SOMEOTHERFEATURE
#endif
使用此方法,在正常构建期间预处理器不会看到您的宏,但Doxygen会看到它们。
您可以将此部分放在您喜欢的代码中的任何位置:.cpp文件,.h文件,或者如果您愿意,可以创建一个虚拟.cpp文件。
也可以看看