无法在 MSys2 上通过 cmake 编译项目

Not able to compile project by cmake on MSys2

提问人:denisssj 提问时间:3/24/2020 最后编辑:denisssj 更新时间:3/25/2020 访问量:2017

问:

我正在通过教程学习使用 CMake:http://derekmolloy.ie/hello-world-introductions-to-cmake/。我尝试使用 cmake 编译我的hello_world.cpp,但我在 Windows 10 的 MSys2 上收到此错误消息:

    -- The C compiler identification is unknown
    -- The CXX compiler identification is unknown
    CMake Error at CMakeLists.txt:3 (project):
    The CMAKE_C_COMPILER:

  cl

  is not a full path and was not found in the PATH.

  To use the NMake generator with Visual C++, cmake must be run from a shell
  that can use the compiler cl from the command line.  This environment is
  unable to invoke the cl compiler.  To fix this problem, run cmake from the
  Visual Studio Command Prompt (vcvarsall.bat).

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.


  CMake Error at CMakeLists.txt:3 (project):
  The CMAKE_CXX_COMPILER:

  cl

  is not a full path and was not found in the PATH.

  To use the NMake generator with Visual C++, cmake must be run from a shell
  that can use the compiler cl from the command line.  This environment is
  unable to invoke the cl compiler.  To fix this problem, run cmake from the
  Visual Studio Command Prompt (vcvarsall.bat).

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


  -- Configuring incomplete, errors occurred!
  See also "D:/Hello_World/CMakeFiles/CMakeOutput.log".
  See also "D:/Hello_World/CMakeFiles/CMakeError.log".

这是我在这里的第一篇文章。对于任何错误,我深表歉意。

C++ CMake MSYS2 MSYS

评论

0赞 Some programmer dude 3/24/2020
cl是 Microsoft Visual Studio 编译器。默认情况下,IIRC MSYS(和 MSYS2)不会安装 MinGW(这是包的编译器组件)。你安装了MinGW吗?在 MSYS shell 中,如果运行程序会发生什么?你从哪里跑?gcccmake
0赞 denisssj 3/24/2020
是的,我已经安装了MinGW.I在我的文件夹D://中运行cmake Hello_world
0赞 David C. Rankin 3/24/2020
如果你在我的 Msys 窗口中输入 - 你是否得到正确的 gcc 版本输出或未找到错误命令?如果它有效,那么你应该在第 3 行而不是(即 VS 编译器)上作为编译器。现在,您可以配置为使用 ,但这不是通过 Msys。gcc --versiongccclcl.execmakecl.exe
0赞 denisssj 3/24/2020
是,出现 GCC 版本。我可以不使用我的 g++ 编译器吗?
0赞 David C. Rankin 3/24/2020
当然,对不起,是的,如果您正在为 C 构建 C++。我不好没有抓住 [c++] 标签。g++gcc

答: 暂无答案