编写特定的 Clang 检查
Writing a specific Clang check
我正在尝试执行我的小自定义检查,例如尝试遍历 this tutorial(有点过时了)。
我有几个问题:
- 在我克隆 repos、实施检查和 运行ned cmake 之后,构建目标与教程 不同
- 项目构建完成后,我什至不知道我应该运行做什么,以在文件或项目上执行我的检查程序 .
感谢转发的帮助!
好吧,与其使用您承认已经过时的教程,不如使用官方文档中的教程怎么样?
https://clang.llvm.org/extra/clang-tidy/Contributing.html#writing-a-clang-tidy-check
what should I run, to execute my checker on a file or on a project.
运行 具有适当参数的 clang-tidy 可执行文件(有关详细信息,请参阅上述文档)
$ clang-tidy test.cpp -checks=-*,your-custom-check-name
-*
禁用所有默认检查,因此这只会 运行 您的自定义检查。
我已经解决了 构建目标问题,即缺少 check-clang-tools 目标。在 cmake 文件结构中,在 llvm/tools/clang/tools
级别,在 CMakeLists.txt
中缺少一行,我必须添加:
add_clang_subdirectory(clang-tools-extra)
执行问题的解决方案:
- 确保
somedir/llvm/build/bin
已添加到您的 PATH
- 然后你需要执行
llvm/tools/clang/tools/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
fileyouwanttocheck.cpp -checks='-*,your-check'
或
llvm/tools/clang/tools/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
project_folder_you_want_to_check -checks='-*,your-check'
我正在尝试执行我的小自定义检查,例如尝试遍历 this tutorial(有点过时了)。
我有几个问题:
- 在我克隆 repos、实施检查和 运行ned cmake 之后,构建目标与教程 不同
- 项目构建完成后,我什至不知道我应该运行做什么,以在文件或项目上执行我的检查程序 .
感谢转发的帮助!
好吧,与其使用您承认已经过时的教程,不如使用官方文档中的教程怎么样?
https://clang.llvm.org/extra/clang-tidy/Contributing.html#writing-a-clang-tidy-check
what should I run, to execute my checker on a file or on a project.
运行 具有适当参数的 clang-tidy 可执行文件(有关详细信息,请参阅上述文档)
$ clang-tidy test.cpp -checks=-*,your-custom-check-name
-*
禁用所有默认检查,因此这只会 运行 您的自定义检查。
我已经解决了 构建目标问题,即缺少 check-clang-tools 目标。在 cmake 文件结构中,在 llvm/tools/clang/tools
级别,在 CMakeLists.txt
中缺少一行,我必须添加:
add_clang_subdirectory(clang-tools-extra)
执行问题的解决方案:
- 确保
somedir/llvm/build/bin
已添加到您的PATH
- 然后你需要执行
llvm/tools/clang/tools/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
fileyouwanttocheck.cpp -checks='-*,your-check'
或
llvm/tools/clang/tools/clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
project_folder_you_want_to_check -checks='-*,your-check'