CMake / MinGW未知编译器,gcc.exe坏了

时间:2018-05-15 07:59:00

标签: c++ cmake mingw

我正在尝试安装在我的Windows桌面上,这是一个名为NUPACK的软件套件,用于设计核酸反应途径。 http://www.nupack.org/

此软件需要安装CMake,根据我的理解,CMake本身没有编译器,并要求我们单独安装编译器。因此,我下载了MinGW以用作C ++编译器。在运行之前,我已经设置了CMake和MinGW bin的环境变量。我通过命令提示符运行CMake(版本3.11.1)但我遇到了以下问题:

C:\Users\Nicholas\Documents\nupack\build>Cmake -DCMAKE_INSTALL_PREFIX=NUPACKINSTALL -G "MinGW Makefiles" ..
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Check for working C compiler: C:/MinGW/bin/gcc.exe
-- Check for working C compiler: C:/MinGW/bin/gcc.exe -- broken
CMake Error at C:/Program Files/CMake/share/cmake- 
3.11/Modules/CMakeTestCCompiler.cmake:52 (message):
  The C compiler

    "C:/MinGW/bin/gcc.exe"

  is not able to compile a simple test program.

我猜测CMake无法以某种方式识别我的MinGW gcc和gcc ++编译器。我接下来尝试了下面的内容,但出现了同样的错误。

set CMAKE_C_COMPILER=%C:\mingw\bin\gcc%
set CMAKE_CXX_COMPILER=%C:\mingw\bin\g++%

有没有人遇到同样的问题?使用MinGW64可以解决这个问题吗?我使用的是Windows 10,之前我曾尝试使用Visual Studio 2017的编译器,但它也遇到了一系列问题。

3 个答案:

答案 0 :(得分:2)

是的,问题是CMake无法找到GCC编译器。在确保安装g ++和gcc之前。它可以是MinGW64或Cygwin。

至少有三种方法可以链接GCC编译器。

第一路:

CMakeLists.txt中设置编译器:

set(CMAKE_C_COMPILER C:\path\to\gcc.exe)
set(CMAKE_CXX_COMPILER C:\path\to\g++.exe)

第二路:

在终端或cmd中调用cmake:

cmake -DCMAKE_C_COMPILER="C:\path\to\gcc.exe" -DCMAKE_CXX_COMPILER="C:\path\to\g++.exe"

第三种方式:

设为环境变量: 转到Windows“环境变量”并添加到PATH这个:

;C:\path_to_MinGW_or_Cygwin\bin

答案 1 :(得分:0)

我有类似的问题。 我的设置是:VSCode(Windows 10)+ GCC 9.2xx + CMake 3.18.2 环境变量已经设置为指向GCC和CMake。

此方法有效:https://stackoverflow.com/a/4101496/2865353 需要清理CMakeCache.txt和CMakeFiles目录。

修复的错误是:

ry

答案 2 :(得分:0)

对我来说,这更像是一个愚蠢的问题。我的 CMakeLists.txt 所在的路径中有一个元音(如 ä、ö 等)。 Cmake 不喜欢那样。