这似乎是一项非常微不足道的任务,但我无法让 Doxygen 扩展宏。我使用过 1.6.3、1.7.4、1.7.6 和 1.8.6 版本。我也在谷歌上做了很多搜索,但仍然惨败。
我有一个只包含以下几行的 c++ 文件(从 Doxygen 文档中复制):
#define CONST_STRING const char *
static CONST_STRING version = "2.xx";
我已经按照文档进行设置:
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
然后添加了以下内容:
EXPAND_ONLY_PREDEF = YES
EXPAND_AS_DEFINED = CONST_STRING
然后
SKIP_FUNCTION_MACROS = YES (previously NO)
我从代码生成中得到的是:
1 #define CONST_STRING const char *
2 static CONST_STRING version = "2.xx";
我做错了什么?任何建议表示赞赏。
最佳答案
是什么让您认为自己做错了什么?
您应该在该源文件的文档页面的“变量”部分看到 version
。如果您启用了源代码输出,变量 version
应该超链接到该变量文档。
如果您在变量定义前加上 doxygen 注释,您的文档会看起来更好。继续这个例子,
//! Define a constant string type.
//! @deprecated Use the typedef const_string_t instead.
#define CONST_STRING const char *
//! Software version number
static CONST_STRING version = "2.xx";
关于c++ - Doxygen 不展开宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21484193/