cmake не работает в Windows XP - PullRequest
       44

cmake не работает в Windows XP

8 голосов
/ 25 апреля 2010

Я новичок с cmake, только что установил его и следую этой статье:

http://www.cs.swarthmore.edu/~adanner/tips/cmake.php

D:\Works\c\cmake\build>cmake ..
-- Building for: NMake Makefiles
CMake Warning at CMakeLists.txt:2 (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.


-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Warning at D:/Tools/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows-cl.cmake:32 (ENABLE_LANGUAGE):
  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.
Call Stack (most recent call first):
  D:/Tools/CMake 2.8/share/cmake-2.8/Modules/CMakeCInformation.cmake:58 (INCLUDE)
  CMakeLists.txt:2 (project)


CMake Error: your RC compiler: "CMAKE_RC_COMPILER-NOTFOUND" was not found.   Please set CMAKE_RC_COMPILER to a valid compiler path or name.
-- Check for CL compiler version
-- Check for CL compiler version - failed
-- Check if this is a free VC compiler
-- Check if this is a free VC compiler - yes
-- Using FREE VC TOOLS, NO DEBUG available
-- Check for working C compiler: cl
CMake Warning at CMakeLists.txt:2 (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 Warning at D:/Tools/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows-cl.cmake:32 (ENABLE_LANGUAGE):
  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.
Call Stack (most recent call first):
  D:/Tools/CMake 2.8/share/cmake-2.8/Modules/CMakeCInformation.cmake:58 (INCLUDE)
  CMakeLists.txt:2 (PROJECT)


CMake Error at D:/Tools/CMake 2.8/share/cmake-2.8/Modules/CMakeRCInformation.cmake:22 (GET_FILENAME_COMPONENT):
  get_filename_component called with incorrect number of arguments
Call Stack (most recent call first):
  D:/Tools/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows-cl.cmake:32 (ENABLE_LANGUAGE)
  D:/Tools/CMake 2.8/share/cmake-2.8/Modules/CMakeCInformation.cmake:58 (INCLUDE)
  CMakeLists.txt:2 (PROJECT)


CMake Error: CMAKE_RC_COMPILER not set, after EnableLanguage
CMake Error: your C compiler: "cl" was not found.   Please set CMAKE_C_COMPILER to a valid compiler path or name.
CMake Error: Internal CMake error, TryCompile configure of cmake failed
-- Check for working C compiler: cl -- broken
CMake Error at D:/Tools/CMake 2.8/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52 (MESSAGE):
  The C compiler "cl" is not able to compile a simple test program.

  It fails with the following output:





  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:2 (project)


CMake Error: your C compiler: "cl" was not found.   Please set CMAKE_C_COMPILER to a valid compiler path or name.
CMake Error: your CXX compiler: "cl" was not found.   Please set CMAKE_CXX_COMPILER to a valid compiler path or name.
-- Configuring incomplete, errors occurred!

Какое полное требование для успешного использования cmake в Windows XP? Я уже установил Visual Studio под D:\Tools\Microsoft Visual Studio 9.0

Ответы [ 2 ]

8 голосов
/ 26 апреля 2010

Прежде всего, я должен признаться, что я не знаю cmake .

Чтобы использовать генератор NMake, cmake должен быть запущен из оболочки, которая может использовать компилятор cl из команды линия. Эта среда не содержат INCLUDE, LIB или LIBPATH, и они должны быть установлены для кл компилятор для работы.

Вышеприведенная ошибка означает, что cmake не может найти правильные расположения заголовков и библиотек вашего компилятора C / C ++.

Вместо запуска cmake из командной строки попробуйте запустить cmake из Командная строка Visual Studio 2008 . Вы можете найти его в Пуск> Программы> Microsoft Visual Studio 2008> Инструменты Visual Studio ) или vcvarsall.bat в папке * Microsoft Visual Studio 9.0 \ VC *. Командная строка Visual Studio 2008 должна автоматически устанавливать все эти переменные среды, чтобы cmake знал, где найти необходимые ему файлы.

Командная строка запустится в папке Visual Studio, поэтому вам нужно будет ввести следующие команды, чтобы переключиться в исходную папку и запустить cmake.

D:
cd D:\Works\c\cmake\build>
cmake

Надеюсь, это поможет вам.

0 голосов
/ 23 января 2013

У меня были похожие проблемы на Win7, и я получал ту же ошибку - компилятор C "cl.exe" не может скомпилировать простую тестовую программу.

Решение, которое сработало для меня:

  1. В Windows Donot не запускайте cmake на терминале cygwin.

  2. Запустите его из командной строки И также убедитесь, что у вас есть права администратора. В Windows 7 вы можете запустить командную строку от имени администратора, выбрав Пуск-> Все программы-> Стандартные-> (Щелкните правой кнопкой мыши на Команде Подсказка) и выберите «Запуск от имени администратора»

Тогда беги 'cmake <your source>' Сработало как заклинание для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...