c++ - Doxygen 不展开宏

标签 c++ macros doxygen

这似乎是一项非常微不足道的任务,但我无法让 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/

相关文章:

c++ - Qt:Q_OBJECT 中的枚举没有 meta.enumeratorCount() 的元数据,为什么?

dictionary - 如何以 map 作为参数调用Freemarker宏?

c++ - 有没有办法为 C++ 优化 doxygen?

c++ - Sphinx 是否已经适用于 C++ 文档?

macros - 为什么这个 Lisp 宏作为一个整体可以工作,即使每个部分都不起作用?

java - 在一个 dox 文件中包含多个类的详细信息

c++ - 真的很大

c++ - 在 C++ 中使用全局变量的最佳方法是什么?

c++ - 在 vector 中找到 n 个最大值

intellij-idea - IntelliJ - 文件观察器 : wrong output of macros