这似乎是一项非常简单的任务,但我无法让Doxygen扩展宏。我使用的是版本1.6.3,1.7.4,1.7.6和1.8.6。我也在Google上进行了大量搜索,但仍然失败了。
我有一个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";
我做错了什么?任何建议表示赞赏。
答案 0 :(得分:0)
是什么让你认为你做错了什么?
您应该在该源文件的文档页面的“变量”部分中看到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";