Doxygen记录已注释的#define定义

3

我是Doxygen的新手,最近遇到一个问题解决不了。 我有这样一段已经记录好注释的代码:

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

这段代码的意思是当用户想要移除所有的断言时,需要取消注释该行。

警告:发现未知宏定义 nAsserts 的文档

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

1个回答

4

我不确定这是否是最佳选择,但您可以使用以下方法:

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

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

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

#if DOXYGEN
#define nAsserts
#endif

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

嘿,谢谢,现在nAsserts出现在文档中了,但它没有像普通定义一样附加行号,有什么解决办法吗? - Cheng Lai
嘿,事实证明问题出在我这里。感谢您提供的解决方案,现在它完美地运行了。干杯。 - Cheng Lai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接