4

我正在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 个问题?

4

2 回答 2

1

您应该使用该-fix-errors选项而不仅仅是-fix. 如果存在编译器错误,后者将不会应用任何修复。请参阅clang-tidy 文档

  -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.
于 2019-01-18T15:20:24.470 回答
0

run-clang-tidy当我尝试通过 LLVM 的python 脚本自动应用 clang-tidy 修复时,我也遇到了同样的问题:

对我来说问题的根源是run-clang-tidy.py script.clang-tidy和 . 的版本 不匹配clang-apply-replacements。后者是版本 10 而不是 11,因此安装clang-tidy-11并链接clang-apply-replacementsclang-apply-replacements-11 解决了我的问题。我还run-clang-tidy从 LLVM 的存储库中下载了带有匹配标签的脚本。

这也是你问题的原因吗?如果报告的版本不匹配,类似的步骤也可能会解决您的问题。

clang++ --version
clang-tidy --version
clang-apply-replacements --version
于 2021-06-10T18:21:39.900 回答