我正在尝试使用适用于 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 程序。