Как установить компилятор CXX для Cmake в VS -коде? [дублировать]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как установить компилятор CXX для Cmake в VS -коде? [дублировать]

Сообщение Anonymous »

Я загрузил проект с кодом VS на сервер Linux и получил следующую ошибку с Cmake . (Из Cmake расширения.)

Код: Выделить всё

Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.
Я затем установил G ++-14 и GCC-14 . Это не решило проблему.
i затем установил build-essential , которая вытащила копию GCC-13 и g ++-13 через apt .
Компиляторы по умолчанию в системе - GCC версия 13.

Код: Выделить всё

$ gcc --version
Version 13...
$ g++ --version
Version 13...
После перезагрузки окна кода VS Cmake больше не жалуется. Тем не менее, используются неправильные версии компилятора. (Я знаю, что используются неправильные версии, потому что я могу создать проект из командной строки, однако Linter в коде VS жалуется на отсутствующие пути.) Компилятор CXX правильно?
Должен ли я изменить файл cmakelist.txt? Br /> Обратите внимание, что окончательная сборка выполняется внутри контейнера Docker, а версия компилятора по умолчанию внутри контейнера - версия 14. Вот почему сценарий командной строки достигает успеха, но Linter VS Code считает, что есть ошибки PATH . < /p>

Мне пришлось сделать целую кучу вещей, чтобы заставить это работать. < /p>
Во -первых, в настройках. json : Примечание: потому что я делаю удаленную разработку через ssh , мне нужно было изменить удаленную версию настроек. />

Код: Выделить всё

{
"cmake.configureSettings": {
"CMAKE_C_COMPILER": "/usr/bin/gcc-14",
"CMAKE_CXX_COMPILER": "/usr/bin/g++",
"CMAKE_BUILD_TYPE": "Debug"
}
}
Во -вторых, в cmakepresets.json

Код: Выделить всё

{
"version": 3,
"configurePresets": [
{
"name": "remote gcc",
"displayName": "Remote gcc",
"description": "Use Remote GCC toolchain",
"generator": "Unix Makefiles",
"binaryDir": "${sourceDir}/out/build/${presetName}",
"cacheVariables": {
"CMAKE_CXX_STANDARD": "23",
"CMAKE_C_COMPILER": "/usr/bin/gcc-14",
"CMAKE_CXX_COMPILER": "/usr/bin/g++-14",
"CMAKE_BUILD_TYPE": "Debug"
}
}
],
"buildPresets": [
{
"name": "remote-gcc",
"configurePreset": "remote-gcc"
}
]
}
Это дает подсказку относительно того, какой компилятор cmake использует.

Код: Выделить всё

cat build/CMakeCache.txt | grep -i compiler
< /code>
# example output...
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/g++
CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc
< /code>
You can also inspect View->Output, and select CMake from the dropdown. Look for log messages which show which compiler is used.
Thirdly, in my Dockerfile
, мне нужно было добавить это

Код: Выделить всё

cmake -DCMAKE_CXX_COMPILER=/path/to/g++
< /code>
Technically, this is seperate to the VS Code & Intellisense issue, but it may be worth knowing about.
Fourth, you may need to delete the build cache. (Output directory.)
You can do it manually or with CTRL+SHIFT+P
"Cmake: Delete Cache и Reconfigure".{
"configurations": [
{
"name": "Remote GCC",
"compilerPath": "/usr/bin/g++-14",
"cppStandard": "c++23",
"intelliSenseMode": "linux-gcc-x64",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"cStandard": "gnu17"
}
],
"version": 4
}
< /code>
Open Command Pelette
  • Search for "C/C++: Edit Configurations (UI)".
  • Set:
  • IntelliSense Mode → "linux-gcc-x64"
  • Compiler Path → "/usr/bin/g++-14"
  • C++ Standard → "c++23"
  • Save and restart VS Code.


Подробнее здесь: https://stackoverflow.com/questions/793 ... in-vs-code
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как установить компилятор CXX для Cmake в VS -коде?
    Anonymous » » в форуме C++
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Учебное пособие по CMake, ошибки — CMAKE_[CXX]_COMPILER не найден и ошибки с модулями
    Гость » » в форуме C++
    0 Ответы
    69 Просмотры
    Последнее сообщение Гость
  • CMake, можно ли проверить текущий стандарт CXX
    Гость » » в форуме C++
    0 Ответы
    39 Просмотры
    Последнее сообщение Гость
  • CMake в Ubuntu 24.04 не работает при тестировании Clang++ для CXX [дубликат]
    Anonymous » » в форуме C++
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • CMake в Ubuntu 24.04 не работает при тестировании Clang++ для CXX [дубликат]
    Anonymous » » в форуме C++
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»