【问题标题】:Document a config macro with doxygen使用 doxygen 记录配置宏
【发布时间】:2017-01-12 16:40:22
【问题描述】:

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

由于我没有定义,我尝试了类似以下内容的方法,我在 doxygen 手册中找到了(我将此 sn-p 添加到使用宏进行条件编译的标头中):

/*! \def MY_CONFIG_MACRO
    \brief Brief

    Details.
*/

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

【问题讨论】:

  • 我怀疑这是否可能。我只想在需要它的组件的一般文档中提到这个要求。这可能是函数、组甚至主页的文档。
  • 嗯,从文档中我同意这是正确的方法。你试过minimal reproducible example吗?也许你的 doxygen-config 有问题?
  • @Olaf:我在一个空的头文件中尝试了上面的 sn-p 和一个新的 doxywizard 配置文件。 Doxygen 说“警告:找到未知定义 MY_CONFIG_MACRO 的文档”。 HTML 为空。如果我定义宏,就会出现文档。
  • 您的问题中应该包含此类信息!好的,那个宏的条件定义怎么样?无论如何,你应该保护它的存在。
  • 也许您可以在\mainpage 部分或其他一些\section 中记录宏,甚至在Doxygen 配置文件中INPUT 标记提到的单独的Markdown 格式文件中。

标签: c macros doxygen


【解决方案1】:

遇到了同样的问题,是这样解决的:

在doxygen配置文件中,添加:

PREDEFINED = IN_DOXYGEN

在源代码的某处,添加:

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

然后正确拾取MY_CONFIG_MACRO的文档。

【讨论】:

  • 我认为这是一个很好的解决方案。仍然对于我的情况,我决定创建一个单独的头文件,它只由 doxygen 处理,不包含在代码项目中。
猜你喜欢
  • 2017-07-07
  • 1970-01-01
  • 2011-05-31
  • 2011-11-21
  • 2016-05-07
  • 1970-01-01
  • 2011-09-14
  • 2010-10-07
  • 2017-08-25
相关资源
最近更新 更多