Doxygen 如何消除奇怪的强氧警告

Doxygen 如何消除奇怪的强氧警告,doxygen,Doxygen,当在一个非常大的C语言项目上运行doxygen时,该项目包含许多文件(我认为所有文件都有完整的文档),那么我总是在输出的底部发现以下警告: <@1>:1: warning: parameters of member @1 are not (all) documented :1:警告:未(全部)记录成员@1的参数 如何找到并删除此警告的触发器 请注意,所讨论的项目对于二分法或其他基于试错的搜索方法来说太大(而且问题还不够重要)。意识到这是一个老问题,但我自己只是遇到了这种情况,没有

当在一个非常大的C语言项目上运行doxygen时,该项目包含许多文件(我认为所有文件都有完整的文档),那么我总是在输出的底部发现以下警告:

<@1>:1: warning: parameters of member @1 are not (all) documented
:1:警告:未(全部)记录成员@1的参数
如何找到并删除此警告的触发器


请注意,所讨论的项目对于二分法或其他基于试错的搜索方法来说太大(而且问题还不够重要)。

意识到这是一个老问题,但我自己只是遇到了这种情况,没有在网上找到解决方案

通过运行Doxygen并查看错误消息在输出中出现的位置,找到了有问题的文件(请确保您没有抑制stdout,否则您只会在没有上下文的情况下得到错误)

在我的例子中,错误出现在“为组[name]生成依赖关系图”一行之后。通过查看相关文件,我发现了一个未记录、未命名的枚举。enum的成员仍然有文档记录。e、 g

enum
{
    X = 1, /**< Documented. */
    ...
}
enum
{
X=1,/**<记录在案*/
...
}

我猜是枚举中缺少名称引发了Doxygen并导致了无效消息。添加名称会生成更多有用的错误消息。记录枚举(带或不带名称)将删除错误。

请原谅这个明显的问题,但我是否可以假设您在相同的代码库中搜索了
@1
,但没有找到任何实例?是的,我找到了。事实上,数字不同(取决于预处理器定义):有时消息是关于成员@2的。这两种代码在项目中都不存在(它将不是有效的C代码)。其他人以前也遇到过此问题: