====== 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 [[gui:gtk:cppinterop|C++-Interoperabilität]].
===== Installation =====
Du kommst vom [[c:tutorial:start|C-Tutorial]] und hast das Kapitel [[c:tutorial:libraries|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 [[c:tutorial:libraries:windowsgtkinstall|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
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:
{{:gui:gtk:basics:basics_01_test.png|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 [[http://www.mingw.org/wiki/MSYS|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:
* [[c:tutorial:libraries:codelite|CodeLite]]
* [[c:tutorial:libraries:visualstudio|Visual C++ 2010 (Express)]]
===== 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 [[http://sourceforge.net/projects/gtk-win/files/GTK%2B%20Runtime%20Environment/|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 [[http://www.proggen.org/forum|Forum]] nach.
**[[gui:gtk:basics:layout|Zur nächsten Lektion]]**