为什么在 CLion 中打开 CMake 项目时,我的 C 编译器(Clang)无法编译简单的测试程序?
我正在尝试设置 CLion 以与 CMake、Ninja、Clang 和 Clang++ 一起运行。为了测试它,我尝试打开一个新项目,即 Clang 源代码。打开新项目时,我选择了 ~/src/llvm-project/clang/
然后 Clion 打开项目并立即向我提供以下调试输出:
/snap/clion/85/bin/cmake/linux/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -G "CodeBlocks - Unix Makefiles" /home/kim/src/llvm-project/clang -- C 编译器标识为 Clang 6.0.0 -- CXX 编译器标识为 Clang 6.0.0 -- 检查 C 编译器是否正常工作:/usr/bin/clang -- 检查 C 编译器是否正常工作:/usr/bin/clang -- /snap/clion/85/bin/cmake/linux/share/cmake-3.15/Modules/CMakeTestCCompiler.cmake:60 处出现损坏的 CMake 错误(消息):C 编译器
“/usr/bin/clang” 是 /usr/bin/clang 的一个子集。
无法编译一个简单的测试程序。
失败并显示以下输出:
更改目录:/home/kim/src/llvm-project/clang/cmake-build-debug/CMakeFiles/CMakeTmp
运行构建命令:/usr/bin/ninja cmTC_a3bcb/fast && ninja:错误:加载“build.ninja”:没有此文件或目录
CMake 将无法正确生成此项目。调用堆栈(最近调用优先):CMakeLists.txt:10(项目)
-- 配置不完整,发生错误!另请参阅“/home/kim/src/llvm-project/clang/cmake-build-debug/CMakeFiles/CMakeOutput.log”。另请参阅“/home/kim/src/llvm-project/clang/cmake-build-debug/CMakeFiles/CMakeError.log”。
CMakeOutput.log 包含:
系统为:Linux - 5.0.0-29-generic - x86_64 编译 C 编译器识别源文件“CMakeCCompilerId.c”成功。编译器:/usr/bin/clang 构建标志:Id 标志:
输出为:0
C编译器识别源码“CMakeCCompilerId.c”编译产生的“a.out”
C 编译器标识为 Clang,位于“/home/kim/src/llvm-project/clang/cmake-build-debug/CMakeFiles/3.15.3/CompilerIdC/a.out”
编译 CXX 编译器标识源文件“CMakeCXXCompilerId.cpp”成功。编译器:/usr/bin/clang++ 构建标志:Id 标志:
输出为:0
编译CXX编译器识别源“CMakeCXXCompilerId.cpp”产生了“a.out”
CXX 编译器标识为 Clang,位于“/home/kim/src/llvm-project/clang/cmake-build-debug/CMakeFiles/3.15.3/CompilerIdCXX/a.out”
CMakeError.log包含:
确定 C 编译器是否工作失败,输出以下输出:更改目录:/home/kim/src/llvm-project/clang/cmake-build-debug/CMakeFiles/CMakeTmp
运行构建命令:/usr/bin/ninja cmTC_a3bcb/fast && ninja:错误:加载“build.ninja”:没有此文件或目录
答案1
我还向 JetBrains 寻求帮助,显然 CLion 还不支持 Ninja CMake 生成器。现在我只能使用 make 代替 Ninja。支持 Ninja 的工作也在进行中。
https://intellij-support.jetbrains.com/hc/en-us/requests/2306298