Wie man gtkmm unter Windows installiert / How to set up gtkmm on Windows



  • Wie man gtkmm unter Windows installiert

    Note: please scroll down for the english version

    Das gtkmm-Toolkit ist ein hervorragend entworfenes und in einem sehr modernen C++ geschriebenes GUI-Toolkit, welches zudem auch noch plattformunabhängig ist. Unter Unix(-ähnlichen) Systemen ist die Installation in der Regel kein Problem, unter Windows treten aber immer wieder Probleme auf, besonders in Kombination mit dem Visual Studio.

    Bevor man anfängt, gtkmm zu installieren, MUSS GTK+ installiert sein (siehe diese FAQ ), da gtkmm ein Wrapper für GTK+ darstellt. Des Weiteren müssen die CRT-Libs des Service Packs 1 installiert sein.

    Schritt 1: gtkmm installieren

    Um gtkmm zu installieren, haben wir zwei Möglichkeiten.

    Möglichkeit No. 1: Wir ziehen uns die Sourcen und kompilieren das Teil von Hand. Ist aber nicht ganz einfach und wird eher selten gemacht, daher werde ich darauf nicht eingehen. Wer's trotzdem versuchen will, kann ja im Forum für guif nachfragen.

    Möglichkeit No. 2: Wir benutzen einfach den Installer, den es hier gibt. Bitte die devel und nicht nur die runtime ziehen. 🙂

    Nach dem Ausführen des Installers wird die bestehende Variable GTK_BASEPATH um die neuen gtkmm-Verzeichnisse erweitert.

    Schritt 2: gtkmm dem Compiler/der IDE bekannt machen

    Wie schon erwähnt, baut gtkmm auf GTK+ auf, daher müssen die include - und lib Verzeichnisse bzw. Bibliotheken von GTK+ (siehe FAQ Beitrag zu GTK+) hinzugefügt werden, bevor man die eigentlichen gtkmm-Infos angibt.

    Folgende Include-Verzeichnisse müssen zusätzlich angegeben werden:

    • $(GTK_BASEPATH)/include/libglademm-2.4
    • $(GTK_BASEPATH)/lib/libglademm-2.4/include
    • $(GTK_BASEPATH)/include/gtkmm-2.4
    • $(GTK_BASEPATH)/lib/gtkmm-2.4/include
    • $(GTK_BASEPATH)/include/glibmm-2.4
    • $(GTK_BASEPATH)/lib/glibmm-2.4/include
    • $(GTK_BASEPATH)/include/gdkmm-2.4
    • $(GTK_BASEPATH)/lib/gdkmm-2.4/include
    • $(GTK_BASEPATH)/include/atkmm-1.6
    • $(GTK_BASEPATH)/include/sigc++-2.0
    • $(GTK_BASEPATH)/lib/sigc++-2.0/include

    Gegen folgende Bibliotheken muss zusätzlich gelinkt werden:

    • gtkmm-2.4.lib
    • gdkmm-2.4.lib
    • atkmm-1.6.lib
    • pangomm-1.4.lib
    • glibmm-2.4.lib
    • sigc-2.0.lib
    • gdi32.lib
    • libglademm-2.4.lib
    • z.lib
    • ws2_32.lib

    (Wenn man anstatt dem MSVC++ den MinGW Compiler verwendet, muss man die Bibliotheken nehmen, die auf dll.a enden. Siehe auch hier)

    Wiederum können wir unser erstes Beispiel ausprobieren.

    Damit man nicht jedes mal die doch recht hohe Anzahl an Verzeichnissen und Bibliotheken hinzufügen muss, gibt's auch ein VC++ 8.0 Projekt Template, welches unten verlinkt ist.

    Viel Spaß!

    How to set up gtkmm on Windows

    The gtkmm-Toolkit is a modern and well designed GUI-Toolkit for C++, which is platform independent as well. The installation isn't very hard on Unix-systems (or similar, such as GNU/Linux or *BSD), but on Windows it isn't that easy, at least if you're trying to use it out-of-the-box with Visual Studio.

    Since gtkmm depends on GTK+ (in fact, gtkmm is a wrapper for GTK+), you have to install GTK+ before you install gtkmm. Got no clue? Check out this FAQ. Additionally the CRT Libraries (included in Service Pack 1) must be installed.

    Step 1: Install gtkmm

    Either we compile gtkmm manually (difficult) or we just use the installer. Compiling it manually is a little complicated and only interesting if you're trying to impress someone 😉

    Otherwise use the installer. It's much easier.

    Now that you've run the installer, gtkmm was successfully installed and the gtkmm-directories were added to the Variable GTK_BASEPATH.

    Step 2: Introduce gtkmm to the compiler/ide

    As I mentioned before, gtkmm wraps GTK+. Thus we have to add the include and lib dirs of GTK+ first before we add the directories of gtkmm. If you're unsure, read the GTK+ FAQ, there you'll find the necessary information on how to do this.

    In order to use gtkmm, one must add following additional directories to the include path:

    • $(GTK_BASEPATH)/include/libglademm-2.4
    • $(GTK_BASEPATH)/lib/libglademm-2.4/include
    • $(GTK_BASEPATH)/include/gtkmm-2.4
    • $(GTK_BASEPATH)/lib/gtkmm-2.4/include
    • $(GTK_BASEPATH)/include/glibmm-2.4
    • $(GTK_BASEPATH)/lib/glibmm-2.4/include
    • $(GTK_BASEPATH)/include/gdkmm-2.4
    • $(GTK_BASEPATH)/lib/gdkmm-2.4/include
    • $(GTK_BASEPATH)/include/atkmm-1.6
    • $(GTK_BASEPATH)/include/sigc++-2.0
    • $(GTK_BASEPATH)/lib/sigc++-2.0/include

    Moreover one must link against these additional libraries:

    • gtkmm-2.4.lib
    • gdkmm-2.4.lib
    • atkmm-1.6.lib
    • pangomm-1.4.lib
    • glibmm-2.4.lib
    • sigc-2.0.lib
    • gdi32.lib
    • libglademm-2.4.lib
    • z.lib
    • ws2_32.lib

    (If you're using MinGW instead of MSVC++, choose the libraries that end on dll.a)

    Again, we can compile and run our first example.

    This is, of course, a very long process. To make things easier, I've linked a Project Template for VC++ 8.0 below.

    Enjoy!

    Template

    VC++ 8.0 Template


Anmelden zum Antworten