【发布时间】:2014-02-24 09:23:12
【问题描述】:
这似乎是一项非常微不足道的任务,但我无法让 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";
我做错了什么?任何建议表示赞赏。
【问题讨论】:
-
@CaptainObvlious - 该用户直接从 doxygen 页面中获取示例来制作 MWE。
-
应该说清楚的。这不是关于 C++ 语法/语义的问题。这是关于 Doxygen 预处理源代码和扩展宏,例如上面给出的那些。因此,#define 是一个非常有效的示例。
-
是什么让你觉得你出了问题,user3257895?