【问题标题】:Doxygen won't resolve reference to typedef in namespaceDoxygen 不会解析命名空间中对 typedef 的引用
【发布时间】:2017-10-20 08:41:50
【问题描述】:

Doxygen 可以在以下简短示例中正常工作:

/** \file */

/// This is an integer
typedef int myInteger;

/// This is the same as \ref myInteger
typedef myInteger myOtherInteger;

但如果我将 myInteger 的引用放入命名空间,它不会解析它。

/** \file */

namespace bar {

/// This is an integer
typedef int myInteger;

/// This is the same as \ref myInteger
typedef myInteger myOtherInteger;

}

请注意,myInteger 的两次提及现在都不是链接。它还抱怨:

警告:无法解析对 \ref 命令的“myInteger”的引用

\ref bar::myInteger 没有帮助。

我该如何解决这个问题?

我有 doxygen 1.8.13。

【问题讨论】:

  • 它似乎与this bug有关,但在1.7.0中标记为已修复...
  • 记录命名空间栏时,将 EXTRACT_ALL 设置为 YES 时它也可以工作,我在 \ref 之后看到了 myInteger
  • @albert 我不想要EXTRACT_ALL,但记录命名空间确实有效。如果您将其发布为答案,我会接受。但是,它还为该命名空间创建了一个全新的部分和页面,我想避免这种情况(无论如何,一切都在同一个命名空间中)。你知道这是否可以做到吗?
  • 关于命名空间,我认为最好的方法是查看命令“doxygen -l [layoutFileName.xml]”并修改此文件并在您的 Doxyfile 中引用它。

标签: c++ doxygen typedef


【解决方案1】:

要正确查看文档,有一些可能性:

  • 记录命名空间
  • 将 EXTRACT_ALL 设置为 YES

消极方面是命名空间在文档中显示为额外的选项卡。这可以通过修改使用的布局文件来克服:

  • doxygen -l [layoutFileName.xml]
  • 修改生成的文件(将有关命名空间的部分设置为 visible="no")
  • Doxyfile 中的参考文件

【讨论】:

  • 我不想 EXTRACT_ALL :(
  • @AdamZahran 另一个选项是记录命名空间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-22
  • 2018-01-22
  • 2014-10-15
  • 1970-01-01
  • 2012-10-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多