I've configured the task json in Visual Studio Code
{
"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"
}
And I think the terminal output is ok,it builds without issues:
> 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` <
For a strange reason, that I don't deeply understand, the Visual Studio Code editor needs a different, separate configuration in .vscode/c_cpp_properties.json
and it still complains with squiggles under the #include <gtk/gtk.h>
Message of the problem explains:
cannot open source file "
glibconfig.h
" (dependency of "gtk/gtk.h
")
What I've tried to do was already adding 3 dirs by visual inspection of my /usr/inlcude
structure
but (since it contains a lot of file and subfolders) I'm perplexed by this way to proceed (I'm I supposed to keep searching all those nested include dependencies?) and anyway I don't know what to add next...
{
"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
}