新来的铿锵和铿锵整洁在这里。
我有一个具有这种结构的项目:
project/
- build/
- cmake/
- component1/
- src/
- someFile.cpp
- someFile2.cpp
- someFile.hpp
- someFile2.hpp
- component2/
- etc...
-
当我使用 clang-tidy 浏览 project/component1/
中的所有文件时,使用以下命令: clang-tidy project/component1/src/* -checks=-*,clang-analyzer-*,-clang-analyzer-alpha*
它最终抛出这样的错误:
$HOME/project/component1/src/someFile.cpp:18:10: error: 'project/component1/someFile.hpp' file not found [clang-diagnostic-error]
\#include "component1/someFile.hpp"
原文由 Maggie S. 发布,翻译遵循 CC BY-SA 4.0 许可协议
只有当您使用 CMake 管理您的项目时,此答案才会对您有所帮助。
CMake 可以选择创建一个 .json 文件,该文件包含所有带有命令行选项的编译器调用。可以使用以下选项将此文件提供给 clang-tidy:
如文档所述,您必须设置
CMAKE_EXPORT_COMPILE_COMMANDS
变量以使用 CMake 生成 .json 文件,然后将 CMake 输出目录传递给 clang-tidy。然后,Clang-tidy 将从 .json 文件中的命令获取包含路径。