[英]clang-tidy reporting unknown warnings
I have a CMake build using GCC.我有一个使用 GCC 的 CMake 构建。 I generated compile_commands.json then ran clang-tidy but I'm getting hundreds of:
我生成了 compile_commands.json 然后运行了 clang-tidy 但我得到了数百个:
error: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [clang-diagnostic-unknown-warning-option]
error: unknown warning option '-Wno-psabi' [clang-diagnostic-unknown-warning-option]
How can I disable or remove these warnings?如何禁用或删除这些警告? I saw clang++ warning: “warning: unknown warning option '-Wno-maybe-uninitialized'” but adding "-Wno-unknown-warning-option" gives me an error:
我看到了clang++ 警告:“警告:未知警告选项 '-Wno-maybe-uninitialized'”但添加“-Wno-unknown-warning-option”给了我一个错误:
run-clang-tidy-3.8.py: error: unrecognized arguments: -Wno-unknown-warning-option
Try appending -extra-arg=-Wno-unknown-warning-option
to clang-tidy command line.尝试将
-extra-arg=-Wno-unknown-warning-option
附加到 clang-tidy 命令行。
Using -extra-arg=
asks clang-tidy to pass -Wno-unknown-warning-option
to the underlying clang.使用
-extra-arg=
要求 clang-tidy 将-Wno-unknown-warning-option
传递给底层 clang。 Otherwise, it tries to interpret it as a clang-tidy flag.否则,它会尝试将其解释为一个清晰的标志。
Edit:编辑:
The run-clang-tidy.py
script supports -extra-arg
starting version 5.0. run-clang-tidy.py
脚本从 5.0 版开始支持run-clang-tidy.py
-extra-arg
。 In prior versions, you'd need to edit the script and add that -extra-arg
manually.在以前的版本中,您需要编辑脚本并手动添加
-extra-arg
。
If you're on Ubuntu 16.04, you can get clang-tidy-5.0
from:如果您使用的是 Ubuntu 16.04,则可以从以下位置获取
clang-tidy-5.0
:
https://www.ubuntuupdates.org/package/xorg-edgers/xenial/main/base/clang-tidy-5.0 https://www.ubuntuupdates.org/package/xorg-edgers/xenial/main/base/clang-tidy-5.0
For me,对我来说,
set(CMAKE_CXX_CLANG_TIDY "clang-tidy-8;--extra-arg=-Wno-error=unknown-warning-option")
solved the issue when running clang-tidy from within CMake.从 CMake 中运行 clang-tidy 时解决了这个问题。
I had the same problem when I generated compile_commands.json using GCC.当我使用 GCC 生成 compile_commands.json 时,我遇到了同样的问题。 When I used Clang, everything is fine.
当我使用 Clang 时,一切都很好。 It seems that clang-tidy/run_clang_tidy.py has a problem with processing compile_commands.json generated by a different compiler than Clang.
似乎 clang-tidy/run_clang_tidy.py 在处理由不同于 Clang 的编译器生成的 compile_commands.json 时存在问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.