GTK+ Was brauche ich?



  • Hallo,
    da ich mich momentan stark mit dem Thema C++ Programmierung und allgemein mit dem Programmieren auseinandersetze wollte ich, nachdem ich Konsolenprogramme in C++ programmieren kann mit der GUI-Technik GTK+ ausseinandersetzen.
    Es steht ja allerhand im Web über GTK, doch irgendwie verstehe ich das meiste nicht. Daher habe ich ein paar Fragen:

    - Wie/Welche Pakete muss ich installieren, um GTK+ Programme ausführen zu können?
    - Gibt es Alternativen zu GTK+?
    - Muss der Anwender die Bibliotheken für GTK+ auf seinem PC haben, wenn ihr ein Programm mit GTK+ benutzen will?

    Hier mal meine Systemdaten:
    Linux Ubuntu 7.04
    GNOME Desktopmanager
    64 Bit Prozessor



  • TheShadowdx schrieb:

    - Wie/Welche Pakete muss ich installieren, um GTK+ Programme ausführen zu können?

    Installier' per Paketmanager einfach gtk+ (sofern es nicht eh schon drauf ist), das zieht sich dann glib, pango usw. selber.

    - Gibt es Alternativen zu GTK+?

    Ja, wxWidgets, gtkmm, Qt ... GTK+ ist eigentlich ein C-Toolkit, wobei du es natürlich auch problemlos mit C++ nutzen kannst. gtkmm ist ein C++ Wrapper für GTK+, wäre evtl. angebrachter, wenn du in die Richtung tendieren solltest.

    Na ja, die Liste mit Toolkits ist lang. Wir hatten in diesem Subboard auch schon oft Fragen, welches denn nun das beste usw. sei. Such dir die Threads raus, da steht das relevante drin.

    - Muss der Anwender die Bibliotheken für GTK+ auf seinem PC haben, wenn ihr ein Programm mit GTK+ benutzen will?

    Ja.



  • Erstmal Danke.
    Ich habe jetzt nochmal in das GTKmm Tutorial im C++ Magazin reingeschaut. Da steht ja welche Bibliotheken man braucht und ich habe auch alle Bibliotheken bekommen.

    Nun wollte ich das Anfangsprogramm ausführen:

    #include <gtkmm.h>
    
    int main(int argc, char *argv[])
    {
        Gtk::Main main_obj(argc, argv);
        Gtk::Window window_obj;
        main_obj.run(window_obj);
        return 0;
    }
    

    Und wenn ich es so:

    g++ gtk.cpp -o gtk

    starte kommt folgender Fehler:

    bash: ./gtk: No such file or directory
    manu@manu-desktop:~$ g++ gtk.cpp -o gtk
    gtk.cpp:1:19: error: gtkmm.h: No such file or directory
    gtk.cpp: In function »int main(int, char**)«:
    gtk.cpp:5: Fehler: »Gtk« wurde nicht deklariert
    gtk.cpp:5: Fehler: expected ;' before »main_obj« gtk.cpp:6: Fehler: »Gtk« wurde nicht deklariert gtk.cpp:6: Fehler: expected;' before »window_obj«
    gtk.cpp:7: Fehler: »main_obj« wurde in diesem Gültigkeitsbereich nicht definiert
    gtk.cpp:7: Fehler: »window_obj« wurde in diesem Gültigkeitsbereich nicht definiert

    Und wenn ich es, wie im Tutorial beschrieben so ausführe:

    g++ `pkg-config gtkmm-2.4 --cflags --libs` -o gtk

    erscheint folgender Fehler:

    /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crt1.o: In function _start': (.text+0x18): undefined reference tomain'
    collect2: ld gab 1 als Ende-Status zurück

    Ich werde daraus einfach nicht schlau...
    Was habe ich falsch gemacht? Fehlt mir doch irgendwas?



  • Du hast vergessen die Source-Datei anzugeben:

    g++ gtk.cpp `pkg-config gtkmm-2.4 --cflags --libs` -o gtk
    


  • Oh, das ist natürlich ein ärgerlicher Fehler.
    Jetzt funktioniert es. Vielen Dank!


Anmelden zum Antworten