clang-tidy 找不到头文件

问题描述 投票:0回答:1

我正在 bazel 项目上运行

clang-tidy
。我使用看似有效的命令生成了
compile_commands.json

我正在跑步

clang-tidy
,如下:

clang-tidy -p /path/to/compile_commands.json /path/tocpp/file.cpp

错误来自于无法包含头文件。这是一个传递包含。

我还从

compile_commands.json
运行了特定的编译命令,并验证了
file.cpp
可以使用原始工具链(即 RHEL GCC)进行编译。

我可能缺少什么?

clang-tidy
是否有可能不遵守编译命令?我尝试在没有
-p /path/to/compile_commands.json
的情况下运行上面相同的命令,但我看到了相同的错误。

非常感谢!

c++ compiler-errors bazel clang-tidy
1个回答
0
投票

-p /path/to/compile_commands.json
使用不当。
-p
应该指向
compile_commands.json
所在的目录,这通常是cmake构建目录。

-p <build-path>
用于读取编译命令数据库。
例如,它可以是 CMake 构建目录,其中存在名为
compile_commands.json
的文件(使用
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
CMake 选项获取此输出)。

一定是

-p /path/to
适合你。

© www.soinside.com 2019 - 2024. All rights reserved.