Doxygen记录评论#define

时间:2013-04-26 19:29:37

标签: c++ documentation comments doxygen c-preprocessor

我是Doxygen的新手,最近遇到了一个我无法解决的问题。 我有这段记录的代码:

/*!
    \def nAsserts
    Uncomment that line so that all asserts would be removed
*/
//#define nAsserts

当它们希望删除所有断言时,它应该告诉用户取消注释该行,但是doxygen正在向我发出警告:

  

警告:找到未知定义nAsserts的文档

我认为问题在于doxygen会忽略所有已注释的代码,那么有什么方法可以解决这个问题或者解决它吗?

1 个答案:

答案 0 :(得分:2)

不确定它是否是最佳选择,但您可以使用以下方法。

修改配置文件以包含PREDEFINED参数:

ENABLE_PREPROCESSING = YES
MACRO_EXPANSION      = YES
EXPAND_ONLY_PREDEF   = YES
PREDEFINED           = "DOXYGEN=1"

在您的代码中,执行以下操作:

#if DOXYGEN
#define nAsserts
#endif

Doxygen遵循自己的预处理器,可以有条件地包含/排除源模块部分。