我正在尝试安装在我的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的编译器,但它也遇到了一系列问题。
答案 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 不喜欢那样。