ANLEITUNG: C und Gtk unter Windows und Linux einrichten und verwenden



  • Inhalt:

    1. Installation unter Linux
    * GTK Installieren
    * Manuelles Arbeiten mit der Konsole
    * Einrichten und Arbeiten mit der IDE: Code::Blocks

    2. Installation unter Windows
    * GTK, MiniGW Herunterladen und Installieren
    * Einrichtungsarbeiten
    * Einrichten und Arbeiten mit der IDE: Code::Blocks
    **
    1.) Installation unter Linux**

    GTK Installieren

    Benötigtes Paket: libgtk2.0-dev

    DEBIAN: sudo apt-get install libgtk2.0-dev
    OpenSuSE: sudo zypper install libgtk2.0-dev
    Oder: Einfach im jeweiligen Packetmanager danach suchen und installieren

    Manuelles Arbeiten mit der Konsole
    Beispielprogramm:

    //test.c
    #include <gtk/gtk.h>
    
    int main( int argc, char *argv[])
    {
      GtkWidget *window;
    
      gtk_init(&argc, &argv);
    
      window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
      gtk_widget_show(window);
    
      gtk_main();
    
      return 0;
    }
    

    Die Konsole öffnen und mit

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

    kompilieren.

    Ausführen mit:

    ./test
    

    FERTIG

    Einrichten und Arbeiten mit der IDE: Code::Blocks
    Jetzt ist nur noch Codeblocks mit den Standartvorgaben zu installieren.

    Falls beim Kompilieren eine Fehlermeldung erscheinen sollte könnte folgendes helfen:

    Starten wir Codeblocks und wählen: File/new/Project und klicken mit der rechten Maustaste auf das GTK+ project Symbol und wählen Edit this script aus.

    Ab der Zeile 124 sollte folgendes zu finden sein:

    project.AddIncludeDir(GtkPathDefaultInc + wxFILE_SEP_PATH + _T("atk-1.0"));
    

    Unter dieser Zeile hängen wir folgendes dran:

    project.AddIncludeDir(GtkPathDefaultInc + wxFILE_SEP_PATH + _T("gdk-pixbuf-2.0"));
    

    SPEICHERN
    FERTIG

    2.) Installation unter Windows

    GTK, MiniGW Herunterladen und Installieren
    # Von der Internetseite: www.gtk.org unter Download bei All-in-one bundles im Text das 2.22 Packet herunterladen.

    # Jetzt benötigen wir den MiniGW (GCC) Kompiler von der Internetseite: www.mingw.org
    Bei Download werden wir weitergeleitet und wählen nun:
    Automated MinGW Installer / mingw-get-inst / mingw-get-inst-xxxx (Neueste Version) und laden uns die .exe Datei herunter

    # Als letztes besorgen wir uns noch die IDE Code::Blocks von www.codeblocks.org
    Unter Download, laden wir uns die binary release herunter:
    codeblocks-(aktuellste nr.)mingw-setup.exe

    Einrichtungsarbeiten
    Die Installation bzw Entpackung der ersten zweien erfolgt am besten im von uns angelegten Ordner: C:\entwicklung
    Folglich sollte es danach so aussehen:

    C:\entwicklung\MiniGW
    C:\entwicklung\gtk
    

    (gtk wurde von mir angelegt)
    Jetzt müssen wir nur noch diese Verzeichnisse für die IDE´s, im unseren fall Codeblocks „sichtbar“ machen. Dazu gehen wir mit (Windows 7) der rechten Maustaste auf Computer/Einstellungen/Erweiterte Systemeinstellungen und klicken auf den Knopf „Umgebungsvariablen“ dort klicken wir im oberen Feld (Benutzervariablen) auf neu und Fügen folgendes hinzu:

    Name der Variablen: PATH
    Wert der Variablen: C:\entwicklung\MinGW\bin;C:\entwicklung\gtk\bin;
    

    Übernehmen + OK

    Einrichten und Arbeiten mit der IDE: Code::Blocks
    Jetzt ist nur noch Codeblocks mit den Standartvorgaben zu installieren.

    Falls beim Kompilieren eine Fehlermeldung erscheinen sollte könnte folgendes helfen:

    Starten wir Codeblocks und wählen: File/new/Project und klicken mit der rechten Maustaste auf das GTK+ project Symbol und wählen Edit this script aus.

    Ab der Zeile 124 sollte folgendes zu finden sein:

    project.AddIncludeDir(GtkPathDefaultInc + wxFILE_SEP_PATH + _T("atk-1.0"));
    

    Unter dieser Zeile hängen wir folgendes dran:

    project.AddIncludeDir(GtkPathDefaultInc + wxFILE_SEP_PATH + _T("gdk-pixbuf-2.0"));
    

    SPEICHERN
    FERTIG

    Ich hoffe diese kleine Anleitung konnte den einen oder anderen Helfen!



  • Für den Build verwende ich gerne CMake. Dann ist man von Betriebsystem, Compiler und IDE unabhängig.

    D.h. in Sourcecode-Verzeichnis ein CMakeLists.txt anlegen mit folgendem Inhalt.

    cmake_minimum_required(VERSION 2.8)
    
    find_package(GTK2 2.8 REQUIRED gtk)
    if(GTK2_FOUND)
       include_directories(${GTK2_INCLUDE_DIRS})
       add_executable(test test.c)
       target_link_libraries(test ${GTK2_LIBRARIES})
    endif()
    

    Dann

    mkdir build
    cd build
    cmake -G "CodeBlocks - MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug
    

    Dabei wir ein Project.cbp angelegt. Im Qt-Creator kann man dieses CMakeLists.txt auch direkt öffnen.



  • Damit CMake unter Windows die GTK-Installation findet, setzt man am besten die Environment-Variable GTKMM_BASEPATH

    CMake sucht GTK standardmäßig in folgenden Pfaden

    /usr/local/lib64
                /usr/local/lib
                /usr/lib64
                /usr/lib
                /opt/gnome/include
                /opt/gnome/lib
                /opt/openwin/include
                /usr/openwin/lib
                /sw/include
                /sw/lib
                /opt/local/include
                /opt/local/lib
                [b]$ENV{GTKMM_BASEPATH}[/b]/include
                [b]$ENV{GTKMM_BASEPATH}[/b]/lib
                [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/include
                [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/lib
                [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/include
                [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]/lib
    


  • Gute Anleitung. Ich werd den Thread die nächsten paar Tage in die FAQ verschieben. Wenn ich's verpenne, schreibt mich an 😉



  • holzeimer schrieb:

    Dann

    mkdir build
    cd build
    cmake -G "CodeBlocks - MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug
    

    Dabei wir ein Project.cbp angelegt. Im Qt-Creator kann man dieses CMakeLists.txt auch direkt öffnen.

    Beim cmake-Aufruf fehlt noch der Pfad zum Souce-Verzeichnis

    cmake -G "CodeBlocks - MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug PfadZumSourceDir
    

Anmelden zum Antworten