Using GTK

To compile a GTK application, you need to tell the compiler where to find the GTK header files and libraries. This is done with the pkg-config utility.

The following interactive shell session demonstrates how pkg-config is used (the actual output on your system may be different):

$ pkg-config --cflags gtk+-3.0
 -pthread -I/usr/include/gtk-3.0 
 -I/usr/lib64/gtk-3.0/include
 -I/usr/include/atk-1.0
 -I/usr/include/cairo
 -I/usr/include/pango-1.0
 -I/usr/include/glib-2.0
 -I/usr/lib64/glib-2.0/include
 -I/usr/include/pixman-1
 -I/usr/include/freetype2
 -I/usr/include/libpng12
$ pkg-config --libs gtk+-3.0
 -pthread
 -lgtk-3
 -lgdk-3
 -latk-1.0
 -lgio-2.0
 -lpangoft2-1.0
 -lgdk_pixbuf-2.0
 -lpangocairo-1.0
 -lcairo
 -lpango-1.0
 -lfreetype
 -lfontconfig
 -lgobject-2.0
 -lgmodule-2.0
 -lgthread-2.0
 -lrt
 -lglib-2.0

The simplest way to compile a program is to use the “backticks” feature of the shell. If you enclose a command in backticks (not single quotes), then its output will be substituted into the command line before execution. So to compile a GTK “Hello, World” application, you would type the following:

$ cc `pkg-config --cflags gtk+-3.0` hello.c -o hello `pkg-config --libs gtk+-3.0`

Development environments

You can use various integrated development environments to write your GTK applications, as well as contributing to GTK.


Observed a typo or some missing information, edit this page.
Read on how to contribute to this website.