Как расширение CMake Tools работает с VS Code?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как расширение CMake Tools работает с VS Code?

Сообщение Anonymous »

Я изучаю CMake и расширение CMake в контексте кода Visual Studio. Во-первых, я следовал инструкциям здесь. Хотя я использую Mac, они сработали.
Но мне бы очень хотелось понять, как использовать CMake и VS Code с Tasks.json и launch.json< /code>, чтобы я мог лучше видеть, что происходит. Итак, я последовал этим инструкциям. launch.json работает нормально, если я нажму F5, моя простая программа на C++ при необходимости создастся, а затем запустится.
Вопрос № 1: Вот launch.json . Где здесь написано «собирает при необходимости»? Я вижу только конфигурацию для запуска:
{
"version": "0.2.0",
"configurations": [
{
"name": "(lldb) Launch",
"type": "cppdbg",
"request": "launch",
// Resolved by CMake Tools:
"program": "${command:cmake.launchTargetPath}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [
{
// add the directory where our target was built to the PATHs
// it gets resolved by CMake Tools:
"name": "PATH", "value": "${env:PATH}:${command:cmake.getLaunchTargetDirectory}"
}
],
"externalConsole": true,
"MIMode": "lldb"
}
]
}

Я также следовал их инструкциям и создал файл Tasks.json с помощью Задачи: Настроить задачу. Было создано:
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: clang build active file",
"command": "/usr/bin/clang",
"args": [
"-fcolor-diagnostics",
"-fansi-escape-codes",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "compiler: /usr/bin/clang"
}
]
}

Этот вариант не работает. Я нажимаю Command-Shift-B, и меня спрашивают, какая задача, и я выбираю «C/C++: clang build active file». А затем появляется целая строка сообщений об ошибках, предполагающих, что он не может связать самые основные библиотеки C++. .
Вопрос №2: что происходит с этим файлом сборки, что может помешать компилятору найти его библиотеки?
Небольшой пример ошибки сообщения:
Starting build...
/usr/bin/clang -std=gnu++14 -fcolor-diagnostics -fansi-escape-codes -g /Users/ken/vsc/newcmake/main.cpp -o /Users/ken/vsc/newcmake/main
ld: Undefined symbols:
std::__1::locale::use_facet(std::__1::locale::id&) const, referenced from:
std::__1::ctype const& std::__1::use_facet[abi:v160006](std::__1::locale const&) in main-d1784b.o
std::__1::ios_base::getloc() const, referenced from:
std::__1::basic_ios::widen[abi:v160006](char) const in main-d1784b.o


Подробнее здесь: https://stackoverflow.com/questions/785 ... th-vs-code
Ответить

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

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

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

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

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