C 使用doxygen记录配置宏

C 使用doxygen记录配置宏,c,macros,doxygen,C,Macros,Doxygen,我想用doxygen记录一个配置宏。该宏未在源代码中定义,但需要使用编译器定义设置来定义 因为我没有定义,所以我尝试了在doxygen手册中找到的类似以下内容(我将此代码段添加到使用宏进行条件编译的标题中): 但是,该文档不会出现在生成的HTML文件中。你知道为什么上述方法不起作用吗?如何在使用的上下文中记录编译器定义的宏?遇到了同样的问题,解决方法如下: 在doxygen配置文件中,添加: PREDEFINED = IN_DOXYGEN 在源代码的某处添加: /* Exporting c

我想用doxygen记录一个配置宏。该宏未在源代码中定义,但需要使用编译器定义设置来定义

因为我没有定义,所以我尝试了在doxygen手册中找到的类似以下内容(我将此代码段添加到使用宏进行条件编译的标题中):


但是,该文档不会出现在生成的HTML文件中。你知道为什么上述方法不起作用吗?如何在使用的上下文中记录编译器定义的宏?

遇到了同样的问题,解决方法如下:

在doxygen配置文件中,添加:

PREDEFINED = IN_DOXYGEN
在源代码的某处添加:

/*
  Exporting cmake compilation flags to doxygen,
  so they get documented.
*/
#ifdef IN_DOXYGEN
#define MY_CONFIG_MACRO
#endif /* IN_DOXYGEN */

然后,我的_CONFIG _宏的文档就被正确地提取了。

我怀疑这样的可能性。我只想在需要它的组件的一般文档中提到这个要求。这可能是一个函数、一个组甚至主页的文档。嗯,从文档中我同意这是正确的方法。你有没有试过吃点什么?也许您的doxygen配置有问题?@Olaf:我用一个新的doxywizard配置文件在一个空的头文件中尝试了上面的代码片段。Doxygen说“警告:找到未知定义我的配置宏的文档”。HTML是空的。如果我定义宏,文档就会出现。你的问题中应该有这样的信息!好的,那个宏的条件定义如何?不管怎样,您都应该保护它的存在。也许您可以在
\mainpage
部分或其他一些
\section
中记录宏,甚至在Doxygen配置文件中的
INPUT
标记提到的单独的标记格式文件中记录宏。我认为这是一个好的解决方案。对于我的例子,我仍然决定创建一个单独的头文件,它只由doxygen处理,不包含在代码项目中。
/*
  Exporting cmake compilation flags to doxygen,
  so they get documented.
*/
#ifdef IN_DOXYGEN
#define MY_CONFIG_MACRO
#endif /* IN_DOXYGEN */