【问题标题】:Doxygen documenting commented #defineDoxygen 文档注释 #define
【发布时间】:2013-04-26 19:29:37
【问题描述】:

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

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

它应该告诉用户在他们希望删除所有断言但 doxygen 向我返回警告时取消注​​释该行:

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

    #if DOXYGEN
    #define nAsserts
    #endif
    

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

    【讨论】:

    • 嘿,谢谢,现在 nAsserts 出现在文档中,但它没有像普通定义那样附加行号来解决这个问题?
    • 嘿原来是我的问题。感谢您提供的解决方案,它现在运行良好。干杯。
    猜你喜欢
    • 2023-03-12
    • 2011-03-04
    • 2016-05-20
    • 2018-01-18
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 2018-11-23
    相关资源
    最近更新 更多