我有一个测试cmake C++应用程序,我可以在Ubuntu20.04上用clang++-10成功编译(用所有的CMAKE_USER_MAKE_RULES_OVERRIDE机器)。
cmake项目的布局如下:
./test.cpp
./CMakeLists.txt
./build我还创建了内置CMAKE_EXPORT_COMPILE_COMMANDS的build数据库json文件./build (这个json文件对于clang操作AFAIU是必需的)。
现在,从build启动,检查调用失败:
clang-check-10 --analyze ../test.cpp
<projDir>/test.cpp:1:10: fatal error: 'iostream' file not found
#include <iostream>
^~~~~~~~~~
1 error generated.
Error while processing <projDir>/test.cpp.有什么办法解决这个问题吗?
编辑:也尝试将-p=$(pwd)指定为check,但仍然找不到标头。
发布于 2021-02-15 07:45:03
clang不是编译器。它用于检查AST中的错误,在这种情况下,它无法在代码中找到系统标头。在行尾加上“--”来忽略它。
clang-check-10 --analyze ../test.cpp有关更多信息:LLVM上的ClangCheck
https://stackoverflow.com/questions/66147245
复制相似问题