【问题标题】:Clang doesn't know Doxygens retval tagClang 不知道 Doxygens retval 标签
【发布时间】: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 通常是没有意义的,因为它实际上会打开所有可用的诊断 - 其中许多不是关于代码问题的警告,而是类似这样的事情或与优化相关的信息。

标签: c clang doxygen


【解决方案1】:

正如评论所说,您可以使用该选项:

-fcomment-block-commands=retval

这将阻止 clang 抱怨标签 \retval。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 2014-11-02
    相关资源
    最近更新 更多