Подтвердить что ты не робот

Как установить компилятор Cmake C и CXX-компилятор

Мне нужна помощь в компиляции этого проекта с помощью cmake. Вот сообщение об ошибке.

$ ./build_avida
-- Building for: NMake Makefiles
CMake Warning at CMakeLists.txt:1 (PROJECT):
  To use the NMake generator, cmake must be run from a shell that can use the
  compiler cl from the command line.  This environment does not contain
  INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
  work.


CMake Error: CMake was unable to find a build program corresponding to "NMake Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_C_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_C_COMPILER
CMake Error: Could not find cmake module file:C:/Users/Desk/Dropbox/2012-2013/BCB504/AvidaProject/avidagit/avida/CMakeFiles/2.8.10.2/CMakeCCompiler.cmake
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER
CMake Error: Could not find cmake module file:C:/Users/Desk/Dropbox/2012-2013/BCB504/AvidaProject/avidagit/avida/CMakeFiles/2.8.10.2/CMakeCXXCompiler.cmake
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
make: *** No rule to make target `install'.  Stop.
4b9b3361

Ответ 1

Попробуйте установить gcc и gcc-c++, так как Cmake работает с ними с плавным доступом.

RedHat на основе

yum install gcc gcc-c++

Debian/Ubuntu на основе

apt-get install cmake gcc g++

Тогда

  • удалить 'CMakeCache.txt'
  • снова запустите компиляцию.

Ответ 2

Подход, который я использую, - это запустить "Командная строка Visual Studio", которая может быть найдена в меню "Пуск". Например. моя визуальная студия 2010 Express install имеет короткую Visual Studio Command Prompt (2010) в Start Menu\Programs\Microsoft Visual Studio 2010\Visual Studio Tools.

Этот ярлык подготавливает среду, вызывая script vcvarsall.bat, где компилятор, компоновщик и т.д. настраиваются с правой установки Visual Studio.

В качестве альтернативы, если у вас уже есть приглашение, вы можете подготовить среду, вызвав аналогичный script:

:: For x86 (using the VS100COMNTOOLS env-var)
call "%VS100COMNTOOLS%"\..\..\VC\bin\vcvars32.bat

или

:: For amd64 (using the full path)
call C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat

Однако:

Ваш вывод (с подсказкой '$') предполагает, что вы пытаетесь запустить CMake из оболочки MSys. В этом случае было бы лучше запустить CMake для MSys или MinGW, явно указав генератор makefile:

cmake -G"MSYS Makefiles"
cmake -G"MinGW Makefiles"

Запустите cmake --help, чтобы получить список всех возможных генераторов.

Ответ 3

Эти ошибки:

"Ошибка CMake: CMAKE_C_COMPILER не установлен после EnableLanguage

Ошибка CMake: CMAKE_CXX_COMPILER не установлен после EnableLanguage "

означает, что вы не установили базу mingw32.

Перейдите к http://sourceforge.net/projects/mingw/files/latest/download?source=files

а затем убедитесь, что вы выбрали "mingw32-base"

Убедитесь, что вы правильно настроили переменные среды в разделе PATH. "C:\MinGW\bin"

После этого откройте CMake и выберите "Установка" → "Удалить кеш".

И снова нажмите кнопку "Настройка". Я решил проблему таким образом, надеюсь, что вы решите проблему.