Windows cmake the c compiler identification is unknown

CMake не видит компилятор VS2019

Установил VS2019 (cmake компонент также установил)

затем переустановил CMake.

— Selecting Windows SDK version 8.1 to target Windows 6.3.9600.
— The C compiler identification is unknown
— The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:5 (project):
No CMAKE_C_COMPILER could be found.

CMake Error at CMakeLists.txt:5 (project):
No CMAKE_CXX_COMPILER could be found.

— Configuring incomplete, errors occurred!

запускать консоль разработки Visual Studio, а уже из неё CMAKE

0iStalker
> запускать консоль разработки Visual Studio, а уже из неё CMAKE
Текст ошибки взят как раз из консоли разработки (developer command prompt)
то есть не работает (через гуи тоже).

war_zes
> No CMAKE_C_COMPILER could be found

Попробуй набрать в developer command prompt команды cl.exe и rc.exe, может быть что-то недоустановилось?

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community>rc.exe

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community>

Как-то оно странно выглядит. В старых версиях было так

usage: cl [ option. ] filename. [ /link linkoption. ]

C:\Program Files (x86)\Microsoft Visual Studio 14.0>rc.exe
Microsoft (R) Windows (R) Resource Compiler Version 6.3.9600.17336
Copyright (C) Microsoft Corporation. All rights reserved.

fatal error RC1107: invalid usage; use RC /? for Help

C:\Program Files (x86)\Microsoft Visual Studio 14.0>

Попробовал так. Не работает

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community>cd C:\Users\1\Desk
top\turso3d-master\turso3d-master

C:\Users\1\Desktop\turso3d-master\turso3d-master>cl
Оптимизирующий компилятор Microsoft (R) C/C++ версии 19.21.27702.2 для x86
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

использование: cl [ параметр. ] имя_файла. [ /link параметр_компоновки. ]

Specify a source directory to (re-)generate a build system for it in the
current working directory. Specify an existing build directory to
re-generate its build system.

C:\Users\1\Desktop\turso3d-master\turso3d-master>cmake CMa
keLists.txt
— Building for: Visual Studio 16 2019
— Selecting Windows SDK version 8.1 to target Windows 6.3.9600.
— The C compiler identification is unknown
— The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:3 (project):
No CMAKE_C_COMPILER could be found.

CMake Error at CMakeLists.txt:3 (project):
No CMAKE_CXX_COMPILER could be found.

— Configuring incomplete, errors occurred!
See also «C:/Users/1/Desktop/turso3d-master/turso3d-master
/CMakeFiles/CMakeOutput.log».
See also «C:/Users/1/Desktop/turso3d-master/turso3d-master
/CMakeFiles/CMakeError.log».

Теперь надо сделать решение.

Собственно да, сам же CMake пишет

Так можно как-то его заставить использовать SDK 10?

Источник

Windows Build issue («The C compiler identification is unknown») #3567

Comments

dlobutters commented Aug 16, 2017

Full Error Output:
c:\osquery>.\tools\make-win64-binaries.bat
— The C compiler identification is unknown
— The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:341 (project):
The CMAKE_C_COMPILER:

is not a full path and was not found in the PATH.

CMake Error at CMakeLists.txt:341 (project):
The CMAKE_CXX_COMPILER:

is not a full path and was not found in the PATH.

— Configuring incomplete, errors occurred!
See also «C:/osquery/build/windows10/CMakeFiles/CMakeOutput.log».
See also «C:/osquery/build/windows10/CMakeFiles/CMakeError.log».
Microsoft (R) Build Engine version 14.0.25420.1
Copyright (C) Microsoft Corporation. All rights reserved.

MSBUILD : error MSB1009: Project file does not exist.
Switch: shell.vcxproj

Worked with @muffins to try and resolve but we were unsuccessful.

Removing Visual Studios on both computers and then running make-win64-dev-env.bat again to reinstall

Removing the chocolaty folder and then then running make-win64-dev-env.bat again to reinstall

tested the system PATH to ensure we could call cl, clang and clang++ as well as copy the PATH from a working computer

NOTE: One thing these computers had in common is that both chocolaty and Visual Studios were installed before following the build process. Being that chocolaty is just a folder it is unlikely that is the issue. If you had Visual Studios installed on your computer before the build process will possibly fail.

Current workaround:
Reimage or get a computer that has never had Visual Studios. So far all computers that have never had Visual Studios have no issues following the build steps.

The text was updated successfully, but these errors were encountered:

muffins commented Aug 17, 2017

muffins commented Sep 6, 2017

I ran into this issue tonight myself when I had inadvertently upgrade to VS 2017. This was pretty infuriating, and the fix ultimately was to uninstall all versions of Visual Studio as well as SDK and Runtimes, and re-run our provisioning script. This got our environment set back up and builds kicked off successfully.

realnemo commented Sep 21, 2017

I landed up in the same issue. This is my first time trying to build the OSQuery on windows. My system had Visual Studio 2013 pre-installed.

C:\osquery>tools\make-win64-dev-env.bat
[+] Provisioning a Win64 build environment for osquery

[+] Done.
Refreshing environment variables from registry for cmd.exe. Please wait. Finished..

C:\osquery>tools\make-win64-binaries.bat
— The C compiler identification is unknown
— The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:341 (project):
The CMAKE_C_COMPILER:

is not a full path and was not found in the PATH.

CMake Error at CMakeLists.txt:341 (project):
The CMAKE_CXX_COMPILER:

is not a full path and was not found in the PATH.

Источник

The C compiler identification is unknown #588

Comments

hynguyen2610 commented Jan 5, 2016

I installed cmake.
When trying to run the build.bat, I got this error.

— The C compiler identification is unknown
— The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:2 (project):
No CMAKE_C_COMPILER could be found.

The text was updated successfully, but these errors were encountered:

jkotas commented Jan 5, 2016

hynguyen2610 commented Jan 5, 2016

I have Visual Studio 2015 Community installed, with C# and C++ modules. Tried to run build.bat with VS2015 x64 Native Tools Command Prompt, but this error still happened.

jkotas commented Jan 5, 2016

hynguyen2610 commented Jan 6, 2016

I findout this error because I install CMake before VS. Remove CMake and reinstall fix this

cipher982 commented Feb 10, 2017

I have spent hours trying to figure this out, but re-installing CMake AFTER VS finally got it all working.

walter211 commented Feb 24, 2017

v2up commented Apr 6, 2017

Alan-FGR commented Jun 13, 2017 •

@walter211, @mafanshu: Are your guys uninstalling CMake and reinstalling or just using the modify option?
In any case, I’m not sure if that will fix the problem, try pointing CMake manually to cl.exe and see if it drops a linker error. CMake compiles a simple program for testing and it may drop some errors, possibly a missing lib (which can be installed in the VS installer program. maybe ucrt).
See also:
https://stackoverflow.com/questions/42701019/problems-generating-solution-for-vs-2017-with-cmake

PathogenDavid commented Apr 3, 2019

In my case this issue was being caused by not having the Spectre mitigated libraries installed. (Checking the CMake logs reveals the warning «warning MSB8038: Spectre mitigation is enabled but Spectre mitigated libraries are not found.» followed by an error to link MSVCRTD.lib when CMake tries to validate the compiler.)

Spectre mitigations are supposed to be off by default, but they aren’t in Visual Studio 2017.

The workaround is to install the «VC++ 2017 version 15.9 v14.16 Libs for Spectre (x86 and x64)» component or to use Visual Studio 2019 instead (which does not have this issue.)

Источник

CMake не находит компилятор Visual C++

после установки Visual Studio 2015 и запуска CMake в предыдущем проекте ошибки CMake указывают на то, что он не смог найти компилятор C.

как настроить CMake для работы в Windows с Visual Studio 2015?

21 ответов:

Я нашел решение. Хотя среда IDE Visual Studio успешно установлена, она не установила никаких средств сборки и, следовательно, не установила компилятор C++.

при попытке вручную создайте проект C++ в графическом интерфейсе Visual Studio 2015 я смог предложить ему загрузить пакеты C++. Затем CMake смог найти компилятор без каких-либо трудностей.

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

надеюсь, он должен работать без проблем.

Я посмотрел в CMakeError.файл журнала и обнаружил ошибку о cannot run ‘rc.exe’

Я искал и нашел ответ для копирования RC.Exe и RcDll.Dll из корзины Microsoft SDKs в корзину VC, а затем CMake работал.

Edit:верхний ответ на другой вопрос предполагает, что это проблема пути, поэтому этого может быть достаточно, чтобы убедиться, что Microsoft SDK bin находится на вашем пути.

убедитесь, что вы используете правильную версию Visual Studio в генератор. Я неправильно выбрал Visual Studio 15 при установке Visual Studio 14.

те, кто спотыкается с этим в Visual Studio 2017: есть функция, связанная с CMake, которую необходимо выбрать и установить вместе с соответствующими наборами инструментов компилятора. Смотрите скриншот ниже.

Windows cmake the c compiler identification is unknown. Смотреть фото Windows cmake the c compiler identification is unknown. Смотреть картинку Windows cmake the c compiler identification is unknown. Картинка про Windows cmake the c compiler identification is unknown. Фото Windows cmake the c compiler identification is unknown

[. ] ошибка MSB8036: не найден пакет Windows SDK версии 8.1. Установите необходимую версию Windows SDK или измените версию SDK на страницах свойств проекта или щелкните правой кнопкой мыши решение и выберите «Retarget solution».

это несмотря на использование Visual Studio 2017 в Windows 7. Таким образом, похоже, что CMake пытается построить свой проект обнаружения с Windows 8.1 пакет SDK.

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

если ни один из вышеперечисленных решений не работает, остановитесь и проверьте.

теперь смотрите, какие генераторы доступны из с CMake.

затем выберите соответствующую строку С добавлена [арка].

запуск cmake в подкаталоге облегчает выполнение «очистки», так как вы можете просто удалить все в этом каталоге.

я обновился до Visual Studio 15, но не обращал внимания и пытался создать для 2012 года.

измените верхний путь к месту установки Windows SDK.

cd на путь CMakeLists.txt и у:

в качестве альтернативы принятому ответу вы можете установить C++ напрямую как описано здесь.

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

Windows and Web Development / Universal Windows App Development Tools / Windows 10 SDK

Он содержит стандартные заголовки C++, используемые в большинстве приложений,и поэтому его часто необходимо устанавливать.

в моем случае был набор переменных окружения, который был причиной этой ошибки. Проблема была решена после удаления cxx_flags из переменных окружения.

Если вы находитесь на Visual Studio 2017 вам нужно по крайней мере CMake 3.8!

Я получил эту проблему с 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 via

как-то, CMake не распознает

так как компилятор C не установлен в родителе.

я решил проблему с помощью

Это может быть еще одно решение для тех, у кого последняя версия Windows 10 creator:

ни одно из предыдущих решений работал для меня. Однако я заметил, что, хотя я установил Visual Studio версии 15 (не путать с Visual Studio 2015) каталог, созданный на моем компьютере, был для Visual Studio 14.

когда я указал Visual Studio 14, когда я нажал кнопку конфигурации он работал.

У меня была эта проблема под 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. Некоторые пакеты отсутствовали при установке Visual Studio в Desktop development с C++. Смотрите снимок:

Visual Studio 2017 Пакеты:

Windows cmake the c compiler identification is unknown. Смотреть фото Windows cmake the c compiler identification is unknown. Смотреть картинку Windows cmake the c compiler identification is unknown. Картинка про Windows cmake the c compiler identification is unknown. Фото Windows cmake the c compiler identification is unknown

кроме того, обновите CMake до последней версии.

потому что CMake не может найти компилятор Visual Studio. Начать любой проект, который будет загружать необходимые компиляторы и CMake должен быть в состоянии найти его потом.

Источник

Идентификатор компилятора 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 как Admin

Другие решения

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

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

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

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

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

какое сообщение об ошибке вызывало компилятор

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

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

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

Чтобы проверить установку SDK, например, убедитесь, что у вас установлен любой Resource Compiler. Это должно быть в пути, похожем на:

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

Ссылка

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

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *