Doxygen无法解析命名空间中typedef的引用

3

下面这个简短的例子可以使用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 的提及现在都不是链接了。它还抱怨:

警告:无法解析对 `myInteger' 的引用以进行 \ref 命令。

\ref bar::myInteger 也没有帮助。

我该如何修正呢?

我使用的是 doxygen 1.8.13。


这似乎与此错误有关,但在1.7.0中已标记为已修复... - Szabolcs
当记录命名空间bar时,即使将EXTRACT_ALL设置为YES,我也可以在\ref之后看到myInteger。 - albert
{btsdaf} - Szabolcs
{btsdaf} - albert
1个回答

5
为了正确查看文档,有以下几种可能性:
  • 记录命名空间
  • 将 EXTRACT_ALL 设置为 YES
消极的方面是,在文档中会显示命名空间作为额外的标签。可以通过修改使用的布局文件来克服这个问题:
  • doxygen -l [layoutFileName.xml]
  • 修改生成的文件(将命名空间的部分设为 visible="no")
  • 在 Doxyfile 中引用该文件

我不想要EXTRACT_ALL :( - Adham Zahran
1
@AdamZahran,另一个选择是记录命名空间。 - albert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接