Wie man GTK+ unter Windows installiert / How to set up GTK+ on Windows



  • Wie man GTK+ unter Windows installiert

    Note: Please scroll down for the english version

    In letzter Zeit taucht relativ häufig die Frage nach der Installation von GTK+ unter Windows auf. Meistens im Zusammenhang mit dem Visual Studio.

    Mit dieser FAQ will ich versuchen, dieses Problem aus der Welt zu schaffen.

    Schritt 1: GTK+ installieren

    Da hat man zwei Möglichkeiten: Entweder man kompiliert von Hand (siehe hier ), oder man benutzt den Installer (Bitte gtk+-win32-devel runterladen).

    Da die Anleitung für den Bau aus den Sourcen recht detailliert ist, konzentriere ich mich hier auf den Installer.

    Jau, alles was noch zu tun bleibt, ist das setup auszuführen und schon ist GTK+ installiert (Zum Windows-Pfad wird noch die Variable GTK_BASEPATH hinzugefügt, wichtig für später).

    Schritt 2: GTK+ dem Compiler/der IDE bekannt machen

    Okay, GTK+ ist jetzt also installiert, nun müssen wir dem Compiler noch sagen, wo er die Header und die Bibliotheken findet.

    Ich werde das IDE-unabhängig beschreiben, da die FAQ sonst etwas arg lang werden würde^^

    Folgende include-Verzeichnisse müssen eingebunden werden:

    • $(GTK_BASEPATH)/include/cairo
    • $(GTK_BASEPATH)/include/libglade-2.0
    • $(GTK_BASEPATH)/include/gtk-2.0
    • $(GTK_BASEPATH)/include/glib-2.0
    • $(GTK_BASEPATH)/lib/glib-2.0/include
    • $(GTK_BASEPATH)/lib/gtk-2.0/include
    • $(GTK_BASEPATH)/include/pango-1.0
    • $(GTK_BASEPATH)/include/atk-1.0
    • $(GTK_BASEPATH)/include/libxml2
    • $(GTK_BASEPATH)/include

    Gegen folgende Bibliotheken muss gelinkt werden:

    • gtk-win32-2.0.lib
    • gdk-win32-2.0.lib
    • atk-1.0.lib
    • gdk_pixbuf-2.0.lib
    • pangowin32-1.0.lib
    • pango-1.0.lib
    • gobject-2.0.lib
    • gmodule-2.0.lib
    • glib-2.0.lib
    • intl.lib
    • iconv.lib
    • glade-2.0.lib
    • xml2.lib

    Sobald das alles hinzugefügt werden konnte, kann das erste Beispiel übersetzt und ausgeführt werden.

    Wer keine Lust verspürt, die ganzen Verzeichnisse und Bibliotheken einzubinden, der kann auch das VC++ 8 Projekt-Template verwenden, das ich ganz unten verlinkt habe.

    Viel Spaß!

    How to set up GTK+ on Windows

    The question how one can set up GTK+ on Windows has come up very often in the last time. Mostly there were also problems to get it working with MS VC++.

    In order to solve this common problem, I wrote this FAQ.

    Step one: Install GTK+

    Basically there are two possibilities: Either one builds GTK+ from scratch (aka source code) (check this out) or one uses the installer (Please download the gtk+-win32-devel package).

    The manual how one might build GTK+ is quite detailed, thus I'll focus on the Installer.

    All that's left to do, is to run the setup routine and GTK+ is installed (Note that the setup routine adds the variable GTK_BASEPATH to your Windows-Path).

    Step two: "Introduce" the library to the compiler/ide

    In order to use GTK+, one must add following directories to the include path:

    • $(GTK_BASEPATH)/include/cairo
    • $(GTK_BASEPATH)/include/libglade-2.0
    • $(GTK_BASEPATH)/include/gtk-2.0
    • $(GTK_BASEPATH)/include/glib-2.0
    • $(GTK_BASEPATH)/lib/glib-2.0/include
    • $(GTK_BASEPATH)/lib/gtk-2.0/include
    • $(GTK_BASEPATH)/include/pango-1.0
    • $(GTK_BASEPATH)/include/atk-1.0
    • $(GTK_BASEPATH)/include/libxml2
    • $(GTK_BASEPATH)/include

    Furthermore one must link against these libraries:

    • gtk-win32-2.0.lib
    • gdk-win32-2.0.lib
    • atk-1.0.lib
    • gdk_pixbuf-2.0.lib
    • pangowin32-1.0.lib
    • pango-1.0.lib
    • gobject-2.0.lib
    • gmodule-2.0.lib
    • glib-2.0.lib
    • intl.lib
    • iconv.lib
    • glade-2.0.lib
    • xml2.lib

    When this is done, you might want to compile and run the first example.

    If you're not very keen on adding all these directories and libraries, you can also use the VC++ 8 Project Template below.

    Enjoy!

    Template

    VC++ 8.0 Template


Anmelden zum Antworten