我正在使用以下命令运行clang-tidy
:
run-clang-tidy.py -checks="-*,cppcoreguidelines-*,hicpps-*" -header-filter=".*" -fix"
(或clang-tidy -checks="-*,cppcoreguidelines-*,hicpps-*" -header-filter=".*" -fix"
也可以)
这将返回很多错误。自从我添加了applying fixes...
选项以来,它还在终端中显示-fix
。
我的问题是,对于cppcoreguidelines-*
和hicpps-*
的修复程序未应用,仅显示。我选择不支持解决1000个问题的支票吗?
答案 0 :(得分:1)
您应该使用-fix-errors
选项,而不仅仅是-fix
。如果存在编译器错误,则后者将不会应用任何修复程序。
参见clang-tidy documentation:
-fix -
Apply suggested fixes. Without -fix-errors
clang-tidy will bail out if any compilation
errors were found.
-fix-errors -
Apply suggested fixes even if compilation
errors were found. If compiler errors have
attached fix-its, clang-tidy will apply them as
well.
答案 1 :(得分:0)
我在尝试通过 LLVM 的 run-clang-tidy
python 脚本自动应用 clang-tidy 修复时也遇到了同样的问题:
问题的根源
对我来说,run-clang-tidy.py script
、clang-tidy
和 clang-apply-replacements
的版本不匹配。
后者是版本 10 而不是 11,因此安装 clang-tidy-11
并将 clang-apply-replacements
链接到 clang-apply-replacements-11
为我解决了这个问题。我还从 LLVM 的存储库中下载了带有匹配标签的 run-clang-tidy
脚本。
这也是造成您问题的原因吗? 如果报告的版本不匹配,类似的步骤也可能会解决您的问题。
clang++ --version
clang-tidy --version
clang-apply-replacements --version