clang-tidy 报告未知警告
clang-tidy reporting unknown warnings
我有一个使用 GCC 的 CMake 构建。我生成了 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]
如何禁用或删除这些警告?我看到 clang++ warning: “warning: unknown warning option '-Wno-maybe-uninitialized'” 但添加“-Wno-unknown-warning-option”给我一个错误:
run-clang-tidy-3.8.py: error: unrecognized arguments: -Wno-unknown-warning-option
尝试将 -extra-arg=-Wno-unknown-warning-option
附加到 clang-tidy 命令行。
使用 -extra-arg=
要求 clang-tidy 将 -Wno-unknown-warning-option
传递给底层 clang。否则,它会尝试将其解释为 clang-tidy 标志。
编辑:
run-clang-tidy.py
脚本支持 -extra-arg
从 5.0 版开始。在以前的版本中,您需要编辑脚本并手动添加 -extra-arg
。
如果您使用的是 Ubuntu 16.04,您可以从以下位置获取 clang-tidy-5.0
:
https://www.ubuntuupdates.org/package/xorg-edgers/xenial/main/base/clang-tidy-5.0
对我来说,
set(CMAKE_CXX_CLANG_TIDY "clang-tidy-8;--extra-arg=-Wno-error=unknown-warning-option")
解决了在 CMake 中 运行 clang-tidy 时的问题。
我在使用 GCC 生成 compile_commands.json 时遇到了同样的问题。当我使用 Clang 时,一切都很好。 clang-tidy/run_clang_tidy.py 似乎在处理由与 Clang 不同的编译器生成的 compile_commands.json 时有问题。
我有一个使用 GCC 的 CMake 构建。我生成了 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]
如何禁用或删除这些警告?我看到 clang++ warning: “warning: unknown warning option '-Wno-maybe-uninitialized'” 但添加“-Wno-unknown-warning-option”给我一个错误:
run-clang-tidy-3.8.py: error: unrecognized arguments: -Wno-unknown-warning-option
尝试将 -extra-arg=-Wno-unknown-warning-option
附加到 clang-tidy 命令行。
使用 -extra-arg=
要求 clang-tidy 将 -Wno-unknown-warning-option
传递给底层 clang。否则,它会尝试将其解释为 clang-tidy 标志。
编辑:
run-clang-tidy.py
脚本支持 -extra-arg
从 5.0 版开始。在以前的版本中,您需要编辑脚本并手动添加 -extra-arg
。
如果您使用的是 Ubuntu 16.04,您可以从以下位置获取 clang-tidy-5.0
:
https://www.ubuntuupdates.org/package/xorg-edgers/xenial/main/base/clang-tidy-5.0
对我来说,
set(CMAKE_CXX_CLANG_TIDY "clang-tidy-8;--extra-arg=-Wno-error=unknown-warning-option")
解决了在 CMake 中 运行 clang-tidy 时的问题。
我在使用 GCC 生成 compile_commands.json 时遇到了同样的问题。当我使用 Clang 时,一切都很好。 clang-tidy/run_clang_tidy.py 似乎在处理由与 Clang 不同的编译器生成的 compile_commands.json 时有问题。