Im trying to set up vs code to work with gtk, I'm programming in c, I followed the instruction on how to install gtk using msys64, then I tried to run an hello world example from their page, but vs code seem to have problems finding the gtk header files.
error: gtk/gtk.h: No such file or directory
I beleive as well that gtk is installed as i run the command kg-config --cflags --libs gtk4
Output: -IC:/msys64/mingw64/bin/../include/gtk-4.0 -IC:/msys64/mingw64/bin/../include/pango-1.0 -IC:/msys64/mingw64/bin/../include -IC:/msys64/mingw64/bin/../include/glib-2.0 -IC:/msys64/mingw64/bin/../lib/glib-2.0/include -IC:/msys64/mingw64/bin/../include/harfbuzz -IC:/msys64/mingw64/bin/../include/freetype2 -IC:/msys64/mingw64/bin/../include/libpng16 -IC:/msys64/mingw64/bin/../include/fribidi -IC:/msys64/mingw64/bin/../include/cairo -IC:/msys64/mingw64/bin/../include/lzo -IC:/msys64/mingw64/bin/../include/pixman-1 -IC:/msys64/mingw64/bin/../include/gdk-pixbuf-2.0 -IC:/msys64/mingw64/bin/../include/graphene-1.0 -IC:/msys64/mingw64/bin/../lib/graphene-1.0/include -mfpmath=sse -msse -msse2 -LC:/msys64/mingw64/bin/../lib -lgtk-4 -lpangowin32-1.0 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -lgdk_pixbuf-2.0 -lcairo-gobject -lcairo -lgraphene-1.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl
c_cpp_properties:
"configurations": [
{
"name": "Gtk_dev",
"includePath": [
"${workspaceFolder}/**",
"C:/msys64/mingw64/include/**",
"C:/msys64/mingw64/lib/gtk-4.0",
"C:/msys64/mingw64/lib/glib-2.0/include",
"C:/msys64/mingw64/lib/graphene-1.0/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:/msys64/mingw64/bin/gcc.exe",
"cStandard": "gnu17",
"cppStandard": "gnu++17",
"intelliSenseMode": "gcc-x64",
"compilerArgs": [],
"browse": {
"limitSymbolsToIncludedHeaders": false,
"path": []
}
}
],
"version": 4
}
Related
Building a C Code using Visual code studio having a third-party Library file from National Instruments. I have already included header file "NIDAQmx.h" to the code. The library file is still not linked with my code.
Please find my code below:
`#include<stdio.h>
#include"C:\Program Files (x86)\National
Instruments\Shared\ExternalCompilerSupport\C\include\NIDAQmx.h"
TaskHandle taskHandle=0;
int ret=0;
void main()
{
printf("Hello world");
ret=DAQmxCreateTask("task",&taskHandle);
printf("Return for creating task is %d\n",ret);
DAQmxStopTask (taskHandle);
DAQmxClearTask(taskHandle);
printf("Task closed ");
}`
tasks.json file task
given below:
`{
"tasks": [
{
"type": "shell",
"label": "C/C++: gcc.exe build active file",
"command": "C:\\MinGW\\bin\\gcc.exe",
"args": [
"-g",
"test.c",
"-o",
"test.exe",
"-LC:\\Program Files (x86)\\National Instruments\\Shared\\ExternalCompilerSupport\\C\\lib32\\msvc",
"-lNIDAQmx"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}`
When I am running the C Code, I got the Consol Output as follows:
**[Running] cd "c:\Users\User\Documents\my_c\src\" && gcc test.c -o test
&& "c:\Users\User\Documents\my_c\src\"test
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-
w64-mingw32/bin/ld.exe:
C:\Users\User\AppData\Local\Temp\ccKqDitK.o:test.c:(.text+0x82):
undefined reference to `DAQmxCreateTask'
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-
w64-mingw32/bin/ld.exe:
C:\Users\User\AppData\Local\Temp\ccKqDitK.o:test.c:(.text+0xae):
undefined reference to `DAQmxStopTask'
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-
w64-mingw32/bin/ld.exe:
C:\Users\User\AppData\Local\Temp\ccKqDitK.o:test.c:(.text+0xbd):
undefined reference to `DAQmxClearTask'
collect2.exe: error: ld returned 1 exit status
[Done] exited with code=1 in 0.181 seconds**
as suggested by one of the forums i tried a command(mentioned below)specifying file path in the terminal without any error:
'PS D:\VSCODES> gcc test.c -o test -L"C:\Program Files (x86)\National
Instruments\Shared\ExternalCompilerSupport\C\lib32\msvc" -lNIDAQmx'
While debug C/C++ File, I get the following message (VSCode Terminal):
'*** Executing task: C:\MinGW\bin\gcc.exe -g test.c -o test.exe '-
LC:\Program Files (x86)\National
Instruments\Shared\ExternalCompilerSupport\C\lib32\msvc' -lNIDAQmx
c:/mingw/bin/../lib/gcc/x86_64-w64-
mingw32/11.2.0/../../../../x86_64-
w64-mingw32/bin/ld.exe: skipping incompatible C:\Program Files
(x86)\National
Instruments\Shared\ExternalCompilerSupport\C\lib32\msvc/NIDAQmx.lib
when searching for -lNIDAQmx
c:/mingw/bin/../lib/gcc/x86_64-w64-
mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping
incompatible C:\Program Files (x86)\National
Instruments\Shared\ExternalCompilerSupport\C\lib32\msvc/NIDAQmx.lib
when searching for -lNIDAQmx
c:/mingw/bin/../lib/gcc/x86_64-w64-
mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping
incompatible C:\Program Files (x86)\National
Instruments\Shared\ExternalCompilerSupport\C\lib32\msvc\NIDAQmx.lib
when searching for -lNIDAQmx
c:/mingw/bin/../lib/gcc/x86_64-w64-
mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot
find -lNIDAQmx
c:/mingw/bin/../lib/gcc/x86_64-w64-
mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping
incompatible C:\Program Files (x86)\National
Instruments\Shared\ExternalCompilerSupport\C\lib32\msvc/NIDAQmx.lib
when searching for -lNIDAQmx
collect2.exe: error: ld returned 1 exit status**'
Edit the tasks,json file as follows:
{
"tasks": [
{
"type": "shell",
"label": "C/C++: gcc.exe build active file",
"command": "C:\\MinGW\\bin\\gcc.exe",
"args": [
"-g",
"test.c",
"-o",
"test.exe",
"-LC:\\Program Files (x86)\\National Instruments\\Shared\\ExternalCompilerSupport\\C\\lib64\\msvc",
"-lNIDAQmx"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
I'm trying to include header files from the atmel avr folder to work with arduino. Despite trying to include the directory of the files, it still prompts me with "No such file or directory" when compyling. The files are located inside "C:\repositories\arduino_testing\include\avr"
What am I doing wrong?
main.c
#include <stdio.h>
#include "avr\io.h"
int main(){
printf("This is a C code");
return 0;
}
tasks.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe build active file",
"command": "C:\\MinGW\\bin\\g++.exe",
"args": [
"-I C:\\repositories\\arduino_testing\\include",
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
},
{
"type": "cppbuild",
"label": "C/C++: cpp.exe build active file",
"command": "C:\\MinGW\\bin\\cpp.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
c_cpp_properties
{
"configurations": [
{
"name": "Win32",
"includePath": [
//"${workspaceFolder}/**",
//"C:\\repositories\\arduino_testing\\avr",
"C:\\repositories\\arduino_testing\\include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.18362.0",
"compilerPath": "C:\\MinGW\\bin\\gcc.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
In your c_cpp_properties.json file, you need to add the path to the avr folder in the includePath array.
"includePath": [
//"${workspaceFolder}/**",
"C:\\repositories\\arduino_testing\\include\\avr"
],
#include "avr\io.h"
#include always uses forward slashes / as path separator, no matter what host system you are using.
That system header is part of the GNU tools for AVR and provided by AVR-LibC, hence:
#include <avr/io.h>
Also notice that this is a sytem header, thus enclose in < and >, not in "'s.
There is no need for -isystem <path> (or -I <path> for that matter) as far as the GNU tools are concerned. You might need to provide the headers to IDEs that need their contents to display locations of macro definitions, though.
If you can only compile with -isystem <path> (or -I <path> for that matter) your toolchain installation is broken, and you should get a working toolchain. Same if it doesn't work with -isystem (or -I): toolchain is broken.
So show the include paths, add -v to the compiler options and inspect its output:
> avr-gcc -v ...
[snip many lines]
#include "..." search starts here:
#include <...> search starts here:
$install/bin/../lib/gcc/avr/8.5.0/include
$install/bin/../lib/gcc/avr/8.5.0/include-fixed
$install/bin/../lib/gcc/avr/8.5.0/../../../../avr/include
End of search list.
...
where the last line belongs to the AVR-LibC system includes. Resolving all these ..'s, the path is $install/avr/include, and it should contain a folder avr which contains io.h etc.
On Visual Studio Code, Mac OS version 10 I am trying to compile (debug C/C++ file) a C code to connect to SQLite3 database. The compile ends with error :
ld: library not found for -lsqlite clang: error: linker command failed
with exit code 1 (use -v to see invocation)
There is an SQLite3 folder under /usr/lib/ , which includes the SQLite3 library. sqlite3.h I put directly under the same source code file sqlite3test1.c. However the compile failed with an error. I link using this command on terminal :
/usr/bin/clang -lsqlite3 -fcolor-diagnostics -fansi-escape-codes -g /Users/Training/sqlite3test1.c -o /Users/Training/sqlite3test1
The command generated an executable file, run correctly, and the executable file provided the database records on the terminal window ( Success ).
How to make the link without the command?
SQLite is included in macOS and Mac OS X by default. So I think you are asking where to add your -lsqlite3 link parameter in the VSCode right? If so, there is a hidden folder .vscode, inside is a tasks.json:
Open task.json:
{
"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": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
},
{
"type": "cppbuild",
"label": "C/C++: clang build active file",
"command": "/usr/bin/clang",
"args": [
"-fcolor-diagnostics",
"-fansi-escape-codes",
"-g",
"-l",
"sqlite3",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "compiler: /usr/bin/clang"
}
],
"version": "2.0.0"
}
Did you find the sqlite3 command I added? That's it.
Now if you build and run the main.c file, VSCode will compile&link successfully, and you are ready to debug.
I am trying to set up Visual Studio Code to function with multiple .c and header files.
I installed the C/C++, Code Rrunner and the C/C++ Makefile Project plug in.
The code works just fine when I compile only one file.
Here are the errors it gives me:
PS C:\Users\rlung\OneDrive\Documenti\VisualStudioCode> cd "c:\Users\rlung\OneDrive\Documenti\VisualStudioCode\src\" ; if ($?) { gcc ex_02.c -o ex_02 } ; if ($?) { .\ex_02 }
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\rlung\AppData\Local\Temp\cc0P4dqJ.o:ex_02.c:(.text+0xee): undefined reference to `HTcreate'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\rlung\AppData\Local\Temp\cc0P4dqJ.o:ex_02.c:(.text+0x111): undefined reference to `HTinsert'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\rlung\AppData\Local\Temp\cc0P4dqJ.o:ex_02.c:(.text+0x152): undefined reference to `HTprintStructure'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\rlung\AppData\Local\Temp\cc0P4dqJ.o:ex_02.c:(.text+0x179): undefined reference to `HTprintStructure'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\rlung\AppData\Local\Temp\cc0P4dqJ.o:ex_02.c:(.text+0x185): undefined reference to `HTdestroy'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\rlung\AppData\Local\Temp\cc0P4dqJ.o:ex_02.c:(.text+0x1ad): undefined reference to `listCreate'
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\rlung\AppData\Local\Temp\cc0P4dqJ.o:ex_02.c:(.text+0x2ae): undefined reference to `HTinsert'
collect2.exe: error: ld returned 1 exit status
PS C:\Users\rlung\OneDrive\Documenti\VisualStudioCode\src>
As you can see it says "undefined reference to..." for every function of the other files i use.
I found lots of answers to this problem and tried everything but I still can't manage to make it work.
I am on windows 10 using mingw64 and this are my .json files.
tasks.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe build active file",
"command": "C:\\msys64\\mingw64\\bin\\gcc.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${fileDirname}/*.c",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "compiler: C:\\msys64\\mingw64\\bin\\gcc.exe"
}
],
"version": "2.0.0"
}
and launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "gcc.exe - Build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\msys64\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: gcc.exe build active file"
}
]
}
I even try to indicate where my header files are in the c_cpp_properties.json.
This is what my Visual Studio Code project looks like:
I tried to change up a bit the tasks.json, in particular the "${file}" string after "-g", but nothing. I also tried compiling and linking everything by hand using: gcc ex_02.c -0 ex_02 -c //for every c file I have and then i linked them togheter using: gcc -o myprog ex_02.o //all object file created before, It works this way but I would like to use code runner and not worry about writing all this stuff everytime, how can i accomplish it?
I am trying to set up a friendly environment for C/C++ programming in VS Code on Linux Ubuntu. For years I've been using Visual Studio and Code Blocks, however VS Code set up is so unclear that I can hardly understand the documentation topics. At the moment I am trying to compile few "hello world" programs so it shouldn't be hard.
Lets say I am trying to build and run GTK-3 hello world program. The command line instructions to do this is:
gcc hello_world.c `pkg-config --cflags --libs gtk+-3.0`
which works just perfectly when used from bash. So first I have created a configuration c_cpp_properties.json called GTK-devel which is supposed to compile this. The json file content is:
{
"configurations": [
{
"name": "GTK-devel",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++14",
"intelliSenseMode": "linux-gcc-x64",
"compilerArgs": [
"`pkg-config --cflags --libs gtk+-3.0`"
]
}
],
"version": 4
}
And here comes the first question: What is a configuration in VS Code? In Visual Studio or Code::Blocks similar things were intuitively clear and undesrtandable - just set up everything you need and then choose it somewhere (menu, dialog,...) before compiling. I guess that in VS Code it is something different, the docs don't explain that at all - it just says one can create a configuration, but does not mention how to use it. Moreover there is no place in which one can select it (terminals, tasks, etc), nor where is is even visible anywhere in menu etc.
Second question concerns tasks. So if configuration approach failed I've decided to set up a task which I can clearly access from main menu. The tasks.json file has the following content:
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc compilation",
"command": "/usr/bin/gcc `pkg-config --cflags --libs gtk+-3.0`",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "kompilator: /usr/bin/gcc GTK3"
}
]
}
When I choose from menu Terminal -> Run build task -> C/C++: gcc compilation everything seems to be fine in terms of called instructions but there are missing libs errors (which are included and present in the system):
"/usr/bin/gcc `pkg-config --cflags --libs gtk+-3.0`" -g /home/user/Programming/hello_world/hello_world.c -o /home/user/Programming/hello_world/hello_world
/bin/sh: 1: /usr/bin/gcc -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0: not found
Here the third question arises: Again the docs don't really explain what is a terminal. It says that it defaults to $SHELL, but if so, why the libs are not visible to the compiler?
So the final question is: Is VS Code a real IDE or it is just a marketing around it that it can be used to do many different things in one place, but in reality it is better to use dedicated tool for each language etc. as setup issues will succesfully distract you from what you are really supposed to do?
After spend four hours I finally found the solution. It's simple and half dirty. Here we go:
This code:
`pkg-config --cflags --libs gtk+-3.0`
Produces something like this (that's my environment, e.g.):
-pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
VScode doesn't support arguments between `. So all we have to do is copy and paste every single argument in task.json:
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"-pthread",
"-I/usr/include/gtk-3.0",
"-I/usr/include/at-spi2-atk/2.0",
"-I/usr/include/at-spi-2.0",
"-I/usr/include/dbus-1.0",
"-I/usr/lib/x86_64-linux-gnu/dbus-1.0/include",
"-I/usr/include/gtk-3.0",
"-I/usr/include/gio-unix-2.0",
"-I/usr/include/cairo",
"-I/usr/include/pango-1.0",
"-I/usr/include/fribidi",
"-I/usr/include/harfbuzz",
"-I/usr/include/atk-1.0",
"-I/usr/include/cairo",
"-I/usr/include/pixman-1",
"-I/usr/include/uuid",
"-I/usr/include/freetype2",
"-I/usr/include/libpng16",
"-I/usr/include/gdk-pixbuf-2.0",
"-I/usr/include/libmount",
"-I/usr/include/blkid",
"-I/usr/include/glib-2.0",
"-I/usr/lib/x86_64-linux-gnu/glib-2.0/include",
"-lgtk-3",
"-lgdk-3",
"-lpangocairo-1.0",
"-lpango-1.0",
"-lharfbuzz",
"-latk-1.0",
"-lcairo-gobject",
"-lcairo",
"-lgdk_pixbuf-2.0",
"-lgio-2.0",
"-lgobject-2.0",
"-lglib-2.0"
],
Almost forgot. To intellisense file c_cpp_properties.json just simply add two patterns at includePath:
"includePath": [
"${workspaceFolder}/**",
"/usr/include/**",
"/usr/lib/x86_64-linux-gnu/**"
]
That's it