#Что означает ошибка
No CMAKE_CXX_COMPILER
Компилятор C++ не установлен или не найден. Установите build-essential (g++) или Build Tools и очистите кэш CMake.
#Причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Нет компилятора | Команды c++ или cl не найдены. | Установите компилятор соответствующей ОС. |
| Не в PATH | Компилятор установлен, но терминал его не находит. | Откройте подходящее окружение и проверьте PATH. |
| Кэш CMake | В кэше указан удалённый компилятор. | Сконфигурируйте новый каталог сборки. |
| Неверный генератор | Генератор CMake не соответствует инструментам. | Выберите установленный генератор, сверив cmake -G. |
#Пошаговое решение
- Выясните, какой компилятор нуженОткройте терминал в корне проекта (в VS Code: «Терминал → Создать терминал»). Запустите
cmake --versionиc++ --versionв Linux/macOS либоclв «Developer Command Prompt for VS» на Windows. Если команда не найдена, компилятор не установлен или не добавлен в окружение; запишите выбранный генератор и имя отсутствующего компилятора из сообщения CMake. - Установите инструменты для своей ОСНа Ubuntu/Debian после согласования с администратором выполните
sudo apt updateиsudo apt install build-essential cmake; в macOS используйтеxcode-select --install; на Windows откройте Visual Studio Installer → «Изменить» → рабочая нагрузка «Разработка классических приложений на C++» с компилятором MSVC. Эти варианты относятся к разным ОС, выполняйте только свой. - Создайте новый каталог сборкиВернитесь в корень проекта с
CMakeLists.txt. Для Unix-подобной системы выполнитеcmake -S . -B build -DCMAKE_BUILD_TYPE=Debug; на Windows с MSVC — из Developer Command Prompt запуститеcmake -S . -B build -G "Visual Studio 17 2022"только если установлен именно этот генератор. При старом неверном кэше используйте другое имя каталога, не удаляя исходники. - Проверьте найденный компиляторВ выводе конфигурации должны появиться строки
The CXX compiler identificationиConfiguring done, затем выполнитеcmake --build build. Если ошибка не ушла, вbuild/CMakeCache.txtпроверьтеCMAKE_CXX_COMPILERи пришлитеCMakeError.log/CMakeConfigureLog.yamlиз дерева сборки, если они созданы.
#Если проблема осталась
Если «CMake: No CMAKE_CXX_COMPILER could be found» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.