После установки Visual Studio 2015 и запуска CMake в предыдущем проекте CMake выдает ошибку о том, что не может найти компилятор C.
The C compiler identification is unknown
The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:4 (PROJECT):
No CMAKE_C_COMPILER could be found.
CMake Error at CMakeLists.txt:4 (PROJECT):
No CMAKE_CXX_COMPILER could be found.
Я искал cl.exe
в папке Visual Studio C:\Program Files\Microsoft Visual Studio 14.0
, и не нашел.
Как настроить CMake для работы в Windows с Visual Studio 2015?
PATH
чтобы найти нужную программу, поэтому, если она не обновлена, она не может найти компилятор.Ответы:
Я нашел решение. Несмотря на то, что интегрированная среда разработки Visual Studio была успешно установлена, в ней не устанавливались никакие инструменты сборки и, следовательно, не устанавливался компилятор C ++.
Пытаясь вручную создать проект C ++ в графическом интерфейсе Visual Studio 2015, я смог предложить ему загрузить пакеты C ++. После этого CMake смог без труда найти компилятор.
источник
Вот решение, которое сработало для меня:
Надеюсь, он заработает без проблем.
источник
cmake ..
оттуда. В любом случае проголосовали за, потому что, например, терминал git-bash не автоматически помещает все на свой путь. Это мне помогло!Я просмотрел файл CMakeError.log и обнаружил ошибку о
cannot run 'rc.exe'
Я искал и нашел этот ответ, чтобы скопировать RC.Exe и RcDll.Dll из корзины Microsoft SDK в корзину VC, а затем CMake работал.
Изменить: верхний ответ на другой вопрос предполагает, что это проблема с PATH, поэтому этого может быть достаточно, чтобы убедиться, что корзина Microsoft SDK находится в вашем PATH.
источник
Убедитесь, что вы используете правильную версию Visual Studio в генераторе. Я неправильно выбрал Visual Studio 15 при установке Visual Studio 14.
источник
Те, кто сталкивается с этим в Visual Studio 2017: есть функция, связанная с CMake, которую необходимо выбрать и установить вместе с соответствующими наборами инструментов компилятора. Смотрите скриншот ниже.
источник
Если ни одно из вышеперечисленных решений не помогло, остановитесь и проверьте работоспособность.
Я сгорел, используя неправильную
-G <config>
строку, и это дало мне вводящую в заблуждение ошибку.Во-первых, запустите из командной строки VS, а не из обычной командной строки. Вы можете найти его в
Start Menu -> Visual Studio 2015 -> MSBuild Command Prompt for VS2015
разделе Это настраивает все правильные пути к инструментам VS и т. Д.Теперь посмотрим, какие генераторы доступны в cmake ...
cmake -help
...<snip>... The following generators are available on this platform: Visual Studio 15 [arch] = Generates Visual Studio 15 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files. Optional [arch] can be "Win64" or "ARM". Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files. Optional [arch] can be "Win64" or "IA64". ...
Затем выберите соответствующую строку с добавленной аркой.
mkdir _build cd _build cmake .. -G "Visual Studio 15 Win64"
Запуск cmake в подкаталоге упрощает «очистку», поскольку вы можете просто удалить все в этом каталоге.
Я обновился до Visual Studio 15, но не обращал внимания и пытался сгенерировать для 2012 года.
источник
Для себя я проверил
CMakeError.log
файл и обнаружил:Это несмотря на использование Visual Studio 2017 в Windows 7. Похоже, что CMake пытается создать свой проект обнаружения с помощью Windows 8.1 SDK.
Я использовал установщик Visual Studio, чтобы добавить этот компонент, и теперь CMake доволен, как моллюск.
источник
Меню → Visual Studio 2015 → Командная строка MSBuild для Visual Studio 2015. Тогда CMake сможет найти
cl.exe
.Измените верхний путь туда, где установлен Windows SDK.
CMake может найти
rc.exe
.cd на путь
CMakeLists.txt
и выполните:Параметр после
-G
должен быть получен CMake. Использование--help
; у вас может быть или нет генератор.источник
Я столкнулся с той же проблемой и исправил ее, перезапустив установку Visual Studio и проверив следующий параметр:
Windows and Web Development
/Universal Windows App Development Tools
/Windows 10 SDK
Он содержит стандартные заголовки C ++, используемые в большинстве приложений, поэтому часто бывает необходимо установить и его.
источник
У меня была эта проблема под Windows 10 при использовании Visual Studio 2015 Professional, а Visual Studio 2015 Express работала! Под Windows 7 работали обе версии Visual Studio.
Новые проекты, созданные из Visual Studio 2015 Professional IDE, успешно компилируются, но CMake не может найти отчет компилятора:
Я обновил CMake с 3.4.1 до 3.11.4, и теперь проблема исчезла.
источник
Если вы используете Visual Studio 2017, вам понадобится как минимум CMake 3.8!
источник
У меня была аналогичная проблема с проектом Visual Studio 2017, созданным через CMake. Некоторые пакеты отсутствовали при установке Visual Studio в разработке для настольных ПК с помощью C ++. См. Снимок:
Пакеты Visual Studio 2017:
Также обновите CMake до последней версии.
источник
В моем случае была установлена переменная среды, которая была причиной этой ошибки. Проблема была решена после удаления cxx_flags из переменных окружения.
источник
У меня возникла эта проблема с CMake 3.12.1 после обновления Visual Studio 2017. Я просто повторно запустил CMake, и он сработал.
источник
В моем случае я мог видеть,
CMakeError.log
что CMake не может найти Windows SDK (MSB8003: Could not find WindowsSDKDir variable from the registry
).Версия может быть указана в командной строке при первом запуске CMake, используя:
Я продвинулся дальше после установки этого, но позже я столкнулся с другими проблемами (поэтому я предполагаю, что моя среда каким-то образом испортилась), но, возможно, это поможет кому-то с этой проблемой.
источник
Пара советов:
Моя проблема заключалась в сочетании ранее заявленного: я установил версию компилятора 15 вместо 14, и после исправления мне пришлось удалить кеш.
Я также запустил командную строку Visual Studio как администратор, а оттуда я запустил cmake-gui.exe
Потом все заработало как положено.
источник
В моем случае проблема заключалась в том, что родительский проект, который включает googletest через
был определен как
Как-то CMake не распознает
поскольку компилятор C не установлен в родительском элементе.
Я решил проблему, используя
в моем основном
CMakeLists.txt
файле.источник
Это может быть еще одно решение для тех, у кого установлена последняя версия создателя Windows 10:
Сообщение о переполнении стека Неустранимая ошибка LNK1104: невозможно открыть файл 'gdi32.lib'
источник
Ни одно из предыдущих решений у меня не помогло. Однако я заметил, что, хотя я установил Visual Studio версии 15 (не путать с Visual Studio 2015), каталог, созданный на моем компьютере, был для Visual Studio 14.
Когда я указывал Visual Studio 14 при нажатии кнопки конфигурации, она работала.
источник
Я нашел это решение в stackoverflow, и я работаю на меня, хотя и не работаю с другими решениями, если у вас ОС Windows 10, выполнение следующих шагов решит проблему:
1) перейдите в C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Bin
2) затем скопируйте RC.exe и RcDll из этого файла
3) перейдите в C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ bin и вставьте в него два файла, которые вы скопировали.
вот и все, я надеюсь, что это будет полезно ...
источник
Посмотрите в Cmakelists.txt, если вы обнаружите, что ARM вам нужно установить C ++ для ARM, а также использовать vcvarsall.bat для папки bin ARM.
Это такие пакеты:
Универсальная платформа Windows C ++ для ARM64 «Не требуется»
Компиляторы и библиотеки Visual C ++ для ARM «Не требуется»
Компиляторы и библиотеки Visual C ++ для ARM64 «Очень вероятно, требуются»
Тогда проблемы могут исчезнуть:
Не удалось найти CMAKE_C_COMPILER.
Не удалось найти CMAKE_CXX_COMPILER.
Если вышеуказанное не решит вашу проблему?
При желании вы можете удалить параметры C и CXX в cmakelists.txt, установив # перед тем, где находится enable_language (C). И избегайте компиляции процессора Android ARM.
источник
Решено добавлением недостающего компонента Modify-> continue add, как указано ниже
источник
У меня была связанная проблема: генераторы Visual C ++ даже не были в списке при запуске
cmake --help
.Я запустил
where cmake
консоль и обнаружил, что cygwin также предоставляет свой собственный файл cmake.exe , который использовался. Изменение порядка каталогов в PATH устранило проблему.источник
Проверка CMakeErrors.log в CMakeFiles вернула:
Ошибка означает, что инструменты сборки для XP (v140_xp) не установлены. Чтобы исправить это, я установил соответствующую функцию в установщик Visual Studio 2019 на вкладке «Отдельные компоненты»:
источник
У меня была эта проблема с CMake GUI и VS 21019 Community Edition. Я думаю, что, возможно, я установил CMake до Visual Studio - конечно, после того, как я обновил CMake 3.15.2 до 3.15.3, проблема исчезла.
источник
Проверить имя папки слишком долго или нет.
источник
Поскольку CMake не может найти ваш компилятор Visual Studio. Запустите любой проект, который загрузит необходимые компиляторы, и тогда CMake сможет его найти.
источник