Я изучаю 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
Как расширение CMake Tools работает с VS Code? ⇐ C++
Программы на C++. Форум разработчиков
-
Anonymous
1716240864
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 с помощью [b]Задачи: Настроить задачу[/b]. Было создано:
{
"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
Подробнее здесь: [url]https://stackoverflow.com/questions/78508836/how-does-cmake-tools-extension-play-with-vs-code[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия