Lektion 1: Einrichten

Für dieses Tutorial wird eine funktionierende C-Compiler Installation vorausgesetzt.

Hinweis für C++

Als C-Bibliothek ist GTK+ prinzipiell auch mit einem C++-Compiler verwendbar. Dennoch sind die hier im Tutorial aufgeführten Quelltexte nicht immer als C++ kompilierbar, für weitere Informationen lest bitte den Artikel C++-Interoperabilität.

Installation

Du kommst vom C-Tutorial und hast das Kapitel Verwendung externer Libraries gelesen und durchgearbeitet? Dann hast du GTK+ schon so installiert, wie wir es in diesem Tutorial benötigen!

Linux

Hier geht es am einfachsten über die Paketverwaltung eurer jeweiligen Distribution:

Debian-Derivate (apt):

aptitude install libgtk2.0-dev


Fedora:

yum install gtk2-devel

Windows

Auf Windows-Systemen gestaltet sich die Installation etwas komplizierter.

Ich verweise an dieser Stelle auf den Artikel im C-Tutorial.

Kompilieren

An dieser Stelle bleiben einem, wie bei jeder anderen externen Bibliothek auch, viele verschiedene Möglichkeiten. Sucht euch am besten die aus, die euch am ehesten zusagt.

Das Testprogramm (main.c):

#include <gtk/gtk.h>
 
int main( int argc, char ** argv )
{
    GtkWidget *dialog;
 
    gtk_init (&argc, &argv);
 
    dialog = gtk_message_dialog_new (NULL,
      				     0,
				     GTK_MESSAGE_INFO,
				     GTK_BUTTONS_OK,
				     "GTK+ erfolgreich installiert.");
 
    gtk_dialog_run (GTK_DIALOG (dialog));
 
    gtk_widget_destroy (dialog);
 
    return 0;
}

Sollte folgendes Resultat ergeben:

GTK+ auf Linux mit Xfce-Design

Direkt über die Konsole

Auf Linux-Systemen häufig der einfachste Weg:

gcc main.c -o gtktest `pkg-config gtk+-2.0 --cflags --libs`


Auch auf Windows-Systemen möglich, hierfür einfach MSYS installieren. MSYS starten, in den Zielordner navigieren und dort mit dem selben Befehl das Programm bauen.

Mit Make

Dieses Make-Skript ist zwar sehr einfach gehalten, erfüllt für dieses Tutorial aber seinen Zweck:

LIBS  = `pkg-config --libs gtk+-2.0`
CFLAGS = `pkg-config --cflags gtk+-2.0`
BIN = gtktest
 
all: program
 
main.o: main.c
	gcc -c -o main.o main.c $(CFLAGS)
 
program: main.o
	gcc -o $(BIN) main.o $(LIBS)
 
clean:
	rm -f $(BIN) *.o

Mit einer Entwicklungsumgebung

Natürlich könnt ihr auch eine Entwicklungsumgebung eurer Wahl benutzen.

Auch hier verweise ich auf die Artikel im C-Tutorial zu:

Weitergabe eures Programms

Bei der Weitergabe eures gebauten Programms ist folgendes zu beachten:

Beim Bauen einer GTK+-Anwendung wird euer Programm zu einer ganzen Menge an dynamisch geladenen Libraries (Windows: .dll, Linux .so) gelinkt. Diese muss der Endanwender auch besitzen.

Auf Linux-Systemen installiert der Anwender einfach das Binärpaket zu GTK2:

aptitude install libgtk2.0


Auf Windows-Systemen gibt es zwei Möglichkeiten:

  • ihr legt alle dll's aus dem bin-Ordner eurer GTK+-Installation in den Ordner eurer *.exe.
  • ihr lasst auf dem Zielsystem das GTK+ Runtime Environment installieren.

Ziel dieser Lektion

Du solltest nun in der Lage sein, GTK+-Programme zu kompilieren. Falls weitere Fragen oder Probleme auftauchen, frage einfach im Forum nach.

Zur nächsten Lektion