【发布时间】:2014-08-08 06:34:21
【问题描述】:
我正在尝试使用 clang 3.6 和 -Weverything 编译一个 C 文件,但它在包含 \retval 标记的 Doxygen 注释中失败。
我的代码如下所示:
/***************************************************************************/
/** Main Function.
*
* This function represents the main functionality.
*
* \retval 0 successful
* \retval other failed
*/
int main(
int argc, /**< argument count */
char **argv /**< argument list */
)
{
...
return 0;
}
当我尝试用 clang 编译它时,我收到以下警告。
$> clang-3.6 -Wall -Weverything -Werror -o main main.c
main.c:31:4: error: unknown command tag name [-Werror,-Wdocumentation-unknown-command]
* \retval 0 successful
^
我知道我可以通过提供 -Wno-documentation-unknown-command 来禁用警告,但我认为这不是最好的解决方案。
【问题讨论】:
-
这是唯一明智的解决方案。要么禁用 -Weverything。
-
虽然我支持启用大量额外警告,但坦率地说,
-Weverything远远超出了需要。 -
或者您可以手动将这些命令添加到 clang...
-
尝试使用 -fcomment-block-commands 手动指定 retval
-
除非你正在追踪一个实际的问题
-Werror -Weverything通常是没有意义的,因为它实际上会打开所有可用的诊断 - 其中许多不是关于代码问题的警告,而是类似这样的事情或与优化相关的信息。