#c #visual-studio-code #cmake #build #devops
#c #visual-studio-code #cmake #сборка #devops
Вопрос:
Итак, у меня есть CMakeLists.txt
, который работает хорошо, и решение выполняется в режиме отладки.
Задачи, связанные с VS Code (создание активного файла и т. Д.), Вызывают GCC, игнорируя CMakeLists.txt
. Это нежелательно, поскольку CMake устанавливает требуемые флаги, подобные стандартной версии C .
Кто-нибудь знает, как передать CMake в tasks.json
?
Для задач по умолчанию они выглядят так:
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C : g -9 build active file",
"command": "/usr/bin/g -9",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "/usr/bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Generated task by Debugger"
},
{
"type": "cppbuild",
"label": "C/C : cpp build active file",
"command": "/usr/bin/cpp",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "/usr/bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "compiler: /usr/bin/cpp"
}
],
"version": "2.0.0"
}
Комментарии:
1. Что вы имеете в виду
call a version of GCC that ignores CMakeLists.txt
? gcc не заботится о вашемCMakeList.txt
ever. Для этого вам нужно запустить cmake.2. другой случай
"type": "cppbuild"
,cppbuild
не является допустимым значением дляtype
, гдеcppbuild
пример3.если вы используете CMake, вызовите
make
для сборки вашей программы НЕТg
. Не вызывайтеcmake
для каждой сборки