【问题标题】:Doxygen - no detailed description for functions in namespacesDoxygen - 没有对命名空间中的函数的详细描述
【发布时间】:2014-08-17 07:31:48
【问题描述】:

我正在尝试让 doxygen 1.8.7 在 HTML 输出中包含详细描述。例如,给定以下文件:

/** \file iniparse.h */

namespace ini {
/** \brief A brief description.
 *
 * A longer description.
 */
inline void parse() {}
}

我的 iniparse.h 的 HTML 包含一个用于 ini::parse 的条目,带有文本“简要说明。更多...”“更多...”部分是指向不存在的锚点的断开链接同一页。并且生成的 HTML 中没有出现“更长的描述”文本。

如果我摆脱命名空间并在任何命名空间之外定义一个函数解析(即::parse),那么一切正常。有人可以告诉我如何在命名空间中获得相同的行为吗?谢谢。

【问题讨论】:

  • 您能以某种方式显示您的Doxygen 文件以查看您的设置吗?
  • 当然。它有点大,但我把它贴在这里:pastebin.com/uG31jG8g

标签: c++ doxygen


【解决方案1】:

原来这个问题是由三件事共同引起的。首先,doxygen 中一个普通的老错误:

https://bugzilla.gnome.org/show_bug.cgi?id=745481

其次,即使修复了错误,您也需要生成命名空间页面,否则您仍然会得到断开的链接。因此,您需要在 Doxyfile 中包含 SHOW_NAMESPACES = YES

第三,除非您有 EXTRACT_ALL = YES,否则您必须通过附加 Doxygen 注释来确保命名空间本身已记录在案。所以你需要:

//! The ini namespace
namespace ini {
...
}

一方面,如果您想要记录名称空间的内容,那么要求记录名称空间可能是有意义的。但是,即使没有命名空间文档,doxygen 也会显示文档的第一部分,这很奇怪。所以我认为这仍然是一个错误,但至少我现在知道如何解决它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 2012-07-21
    • 1970-01-01
    相关资源
    最近更新 更多