Я настроил задачу json в коде Visual Studio
{
"tasks": [
{
"type": "shell",
"label": "gcc build active file",
"command": "/usr/lib64/ccache/gcc",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"`pkg-config", "--cflags", "--libs","gtk+-3.0`"
],
"options": {
"cwd": "/usr/lib64/ccache"
},
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
}
}
],
"version": "2.0.0"
}
И я думаю, что вывод терминала в порядке, он строится без проблем:
> Executing task: /usr/lib64/ccache/gcc -g /home/giuliohome/dev/gnome/gtk-example/gtk_hello02.c -o /home/giuliohome/dev/gnome/gtk-example/gtk_hello02 `pkg-config --cflags --libs gtk+-3.0` <
Для странная причина, которую я не очень понимаю, редактору кода Visual Studio нужна другая, отдельная конфигурация в .vscode/c_cpp_properties.json
, и он все еще жалуется на волнистые линии под #include <gtk/gtk.h>
сообщением проблемы объясняется:
не удается открыть файл с исходным кодом «glibconfig.h
» (зависимость от «gtk/gtk.h
»)
То, что я пытался сделать, уже было добавление 3 директорий путем визуального осмотра моей структуры /usr/inlcude
, но (поскольку она содержит много файлов и подпапок) я озадачен этим способом продолжить (я должен продолжать поиск всех этих вложенные зависимости включения?) и в любом случае я не знаю, что добавить дальше ...
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/include/linux",
"/usr/include/gtk-3.0",
"/usr/include/glib-2.0"
],
"defines": [],
"compilerPath": "/usr/lib64/ccache/gcc",
"cStandard": "c11",
"cppStandard": "gnu++14",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}