0

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

4

1 回答 1

1

原来这是一个已知的错误:https ://github.com/Microsoft/BashOnWindows/issues/272

长话短说,它在版本 14352 中已修复。

于 2016-06-17T21:16:06.987 回答