【问题标题】:doxygen not listing functions in nested namespacesdoxygen 未在嵌套命名空间中列出函数
【发布时间】:2013-05-09 08:42:56
【问题描述】:

我正在记录我的代码,但无法让 doxygen 获取 嵌套命名空间内的函数。 谷歌搜索我没有看到任何人面临这个问题,如果重复,对不起。

namespace n1 {
 /*! @addtogroup n1
 *@{
  */

 /**
  * n2 is...
  */
 namespace n2 {

    /**
     *  n3 is...
     */
    namespace n3 {

        /**
         * function does...
         */
         static inline
         int  
         find() { }
    }
}
 /*@}*/
}

在生成的文档 (html) 中,我看到了所有命名空间(n1n2n3),但没有看到任何函数(例如 find())。 n3命名空间对应的页面不包含任何内容。

我也试过EXTRACT_ALL 构建标志,似乎没有帮助。

p/s/ doxygen 是使用 OS-X 的 Doxygen GUI 生成的。

【问题讨论】:

  • 根据 Doxyfile 和手册:如果 EXTRACT_ALL 标记设置为 YES,doxygen 将假定文档中的所有实体都已记录,即使没有可用的文档也是如此。私有类成员和静态文件成员将被隐藏,除非 EXTRACT_PRIVATE 和 EXTRACT_STATIC 标记设置为 YES
  • @albert 正如您在上面的示例中看到的,这些不是私有的。不知道为什么它不记录这些
  • 我只是在这里复制了部分手册,可能 EXTRACT_PRIVATE 和 EXTRACT_STATIC 之间的“和”这个词在这里有点混乱,分别用这个词可能更好。

标签: doxygen


【解决方案1】:

您需要在 Doxyfile 中设置 EXTRACT_STATIC = YES。

关于 EXTRACT_ALL 的评论指出,“私有类成员和静态文件成员将被隐藏,除非 EXTRACT_PRIVATE 和 EXTRACT_STATIC 标签设置为 YES”

我已经使用您的示例进行了测试,并设置了 EXTRACT_STATIC = YES,并且 find 函数在生成的文档中可见。

【讨论】:

    猜你喜欢
    • 2011-11-15
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多