我正在尝试使用适用于 Linux 的 Windows 子系统(Windows 10 build 10.0.14342)编译 LLVM,但我不断收到关于我如何缺少 C 和 C++ 编译器的 cmake 错误。尽管在 bash 中使用 apt-get 具有 gcc、g++ 和 build-essentials。我的命令如下:
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="X86" ../llvm-3.8
我从 CMake 得到一堆错误
CMake 错误:缓存文件 /home/andrew-wsl/llvm/build/CMakeCache.txt 中的解析错误。
违规条目:调试信息构建。
CMake 错误:缓存文件 /home/andrew-wsl/llvm/build/CMakeCache.txt 中的解析错误。
违规条目:CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED
-- C 编译器标识未知
/usr/share/cmake-2.8/Modules/CMakeDetermineCCompiler.cmake:186 (configure_file) 处的 CMake 错误:
configure_file 配置文件问题
调用堆栈(最近的调用优先):
CMakeLists.txt:54(项目)
-- CXX 编译器标识未知
/usr/share/cmake-2.8/Modules/CMakeDetermineCXXCompiler.cmake:185 (configure_file) 处的 CMake 错误:
configure_file 配置文件问题
调用堆栈(最近的调用优先):
CMakeLists.txt:54(项目)
-- ASM 编译器标识为 GNU
-- 找到汇编程序:/usr/bin/cc
-- 检查工作的 C 编译器:/usr/bin/cc
/usr/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:47 (try_compile) 处的 CMake 错误:
文件的未知扩展名“.c”
/home/andrew-wsl/llvm/build/CMakeFiles/CMakeTmp/testCCompiler.c
try_compile() 仅适用于启用的语言。目前这些是:
ASM C CXX
请参阅 project() 命令以启用其他语言。
调用堆栈(最近的调用优先):
CMakeLists.txt:54(项目)
-- 检查工作的 C 编译器:/usr/bin/cc -- 损坏
/usr/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:61 处的 CMake 错误(消息):
C 编译器“/usr/bin/cc”不能编译简单的测试程序。
它失败并显示以下输出:
CMake 将无法正确生成此项目。
调用堆栈(最近的调用优先):
CMakeLists.txt:54(项目)
-- 配置不完整,出现错误!
另请参阅“/home/andrew-wsl/llvm/build/CMakeFiles/CMakeOutput.log”。
另请参阅“/home/andrew-wsl/llvm/build/CMakeFiles/CMakeError.log”。
安德鲁-wsl@计算机:~/llvm/build$
CMakeError.log 可以在这里找到:http: //pastebin.com/7rWYFGu5
CMakeOutput.log 可以在这里找到:http: //pastebin.com/2BaEFTvR
我不确定发生了什么,因为我能够成功地用 gcc 和 g++ 编译一个 helloworld 程序。