我在Visual Studio Code中配置了任务json。
{
"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"
}
而且我认为终端输出是OK的,它的构建没有问题。
> 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个dirs,我的 /usr/inlcude
架构
但是(因为它包含了很多文件和子文件夹)我对这种方式感到困惑(我应该继续搜索所有这些嵌套的include依赖关系吗?),而且我不知道下一步该添加什么......
{
"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
}
两年后,这还是一个 开版.
很明显,它是不可管理的,无论如何,供你参考,这是我的Fedora 31 Linux工作站的解决方案。
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/include/linux",
"/usr/include/gtk-3.0",
"/usr/include/glib-2.0",
"/usr/lib64/glib-2.0/include",
"/usr/include/pango-1.0",
"/usr/include/harfbuzz",
"/usr/include/cairo",
"/usr/include/gdk-pixbuf-2.0",
"/usr/include/atk-1.0"
],
"defines": [],
"compilerPath": "/usr/lib64/ccache/gcc",
"cStandard": "c11",
"cppStandard": "gnu++14",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}