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

Идентификатор компилятора CXX неизвестен

У нас возникли проблемы с компиляцией проекта с использованием CMake (v2.8.12) под Windows 7 64Bit с использованием Visual Studio 2012. CMake дает нам следующие ошибки. Мы уже пытались запустить Cmake из командной строки Visual Studio, используя права администратора. Кажется, что в CMake 2.8.11 была аналогичная ошибка: http://www.cmake.org/Bug/view.php?id=14440

CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake:446 (execute_process):
  execute_process given COMMAND argument with no value.
Call Stack (most recent call first):
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake:48 (CMAKE_DETERMINE_COMPILER_ID_VENDOR)
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCCompiler.cmake:131 (CMAKE_DETERMINE_COMPILER_ID)
  CMakeLists.txt:2 (project)


The C compiler identification is unknown
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake:446 (execute_process):
  execute_process given COMMAND argument with no value.
Call Stack (most recent call first):
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake:48 (CMAKE_DETERMINE_COMPILER_ID_VENDOR)
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCXXCompiler.cmake:127 (CMAKE_DETERMINE_COMPILER_ID)
  CMakeLists.txt:2 (project)


The CXX compiler identification is unknown
Could NOT find SWIG (missing:  SWIG_EXECUTABLE SWIG_DIR) 
CMake Warning at src/CMakeLists.txt:44 (message):
  SWIG was not found.  You will not be able to compile for C#.


Configuring incomplete, errors occurred!
See also "C:/Users/hci/laser_control/CMakeFiles/CMakeOutput.log".
See also "C:/Users/hci/laser_control/CMakeFiles/CMakeError.log".
4b9b3361

Ответ 1

У меня была такая же проблема, и я исправил ее с помощью cmake как Admin

Ответ 2

У меня также была аналогичная проблема, если вы используете Microsoft Visual Studio 2012, возможно, из-за обновления KB2781514.

После того, как я установил следующее обновление, CMake начнет правильно определять компиляторы Visual Studio 2012 c/С++.

http://www.microsoft.com/en-us/download/details.aspx?id=36020

Ответ 3

Те сообщения об ошибках

The C compiler identification is unknown
The CXX compiler identification is unknown

означает, что CMake нашел или предположил компилятор, но не смог скомпилировать простую тестовую программу.

Взгляните на CMakeFiles\CMakeError.log и проверьте там сообщение об ошибке:

  • какой путь/командная строка компилятора CMake использовал
  • что сообщение об ошибке, вызывающее компилятор, было

    например. LINK : fatal error LNK1181: cannot open input file 'kernel32.lib'

Если вы добавите --debug-trycompile в вызов cmake, CMake даже сохранит файлы, которые он пытался проверить, компиляции (чтобы вы могли скопировать/вставить/повторно запустить командную строку из журнала ошибок в cmd оболочки).

В прошлый раз у меня была эта проблема...

В прошлый раз, когда я столкнулся с этой проблемой, моя стандартная установка Visual Studio 2012 Professional не устанавливала Windows SDK (в журнале ошибок был показан отсутствующий заголовок SDK).

Чтобы проверить установку SDK, например. убедитесь, что у вас есть какой-либо компилятор ресурсов. Он должен быть на пути, подобном:

C:\Program Files (x86)\Microsoft SDKs\Windows\v[some version]\bin\RC.Exe

Так как мне не хватало этого - или, точнее, любого SDK - я установил Windows 8.1 SDK (поскольку Visual Studio 2012 нацелен на Windows 8. x) и voila мой CMake смог снова скомпилировать (тестовые) программы.

Ссылка

Ответ 4

Та же проблема здесь с cmake 2.8.12 и visual studio 10. Cmake, возможно, не сможет найти компилятор. Я решил проблему, удалив последнюю версию и установив cmake 2.8.10.

Ответ 5

Я просто сталкиваюсь с этой проблемой, после того как я удалил какое-то программное обеспечение MS. Я исправил его с помощью рендеринга visual studio 2012. Сначала перейдите в [Панель управления], затем выберите визуальную студию и отредактируйте ее, все будет идти прямо сейчас.

Ответ 6

Убедитесь, что вы выбрали правильную версию Visual Studio. Например, Visual Studio 2012 - версия 11.

Ответ 7

У меня была такая же проблема, и мне пришлось использовать "File -> Delete Cache", так как я случайно настроил CMake для использования неправильной версии Visual Studio.

Ответ 8

Если вы используете CMake 3.4.0, попробуйте перейти на более новую версию. Ошибка относительно этого была исправлена ​​относительно недавно (см. Отчет об ошибке ).

Ответ 9

Я столкнулся с той же проблемой. Создание и запуск проекта из Visual Studio не сработало для меня. Однако следующие работали для меня:

  • Откройте командную строку для разработчиков из инструментов Visual Studio.
  • Перейти в каталог, в котором присутствует cmake.exe.
  • Запустите его.

Давайте надеяться, что это сработает и для вас.