====== 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]]**