How to write and build a GTK+ app on Ubuntu


$ cat hello.c
#include

int main(int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *label;

gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
label = gtk_label_new("hello, world");
gtk_container_add(GTK_CONTAINER(window), label);
gtk_widget_show(label);
gtk_widget_show(window);

gtk_main();
return 0;
}
$ gcc -Wall -g hello.c -o hello `pkg-config --cflags gtk+-2.0` `pkg-config --libs gtk+-2.0`
$ ./hello

pkg-config simply outputs the headers and libraries that need to be passed to gcc.

More information here.