CMake / MinGW неизвестные компиляторы, gcc.exe не работает - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь установить на свой рабочий стол Windows пакет программного обеспечения под названием NUPACK, который используется для разработки путей реакции нуклеиновых кислот.http://www.nupack.org/

Для этого программного обеспечения требуется CMake для установки, и, насколько я понимаю, CMake не имеет компиляторов сам по себе, и требует, чтобы мы установили компиляторы отдельно.Поэтому я скачал MinGW для использования в качестве компилятора C ++.Перед запуском я установил переменные окружения как CMake, так и MinGW.Я запускаю 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, но у него были свои проблемы.

1 Ответ

0 голосов
/ 15 мая 2018

Да, проблема в том, что CMake не может найти компилятор GCC.Прежде чем быть уверенным, что g ++ и gcc установлены.Это может быть MinGW64 или Cygwin.

Существует как минимум три способа связать компилятор GCC.

1-й способ:

Установить компиляторы в CMakeLists.txt:

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

2-й способ:

При вызове cmake в терминале или cmd:

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

3-й способ:

Установить в качестве переменной среды: Перейдите в Windows «Переменные среды» и добавьте к PATH this:

;C:\path_to_MinGW_or_Cygwin\bin
...