GTK-Anwendung kompiliert nicht



  • Hallo,

    gemäß dem Tutorial (http://www.c-plusplus.net/forum/viewtopic-var-t-is-126450.html) habe ich auf meinem System GTK+ und GTKmm installiert. Installation hat Problemlos funktioniert, die Demodateien lassen sich ausführen. Nun wollte ich meine erste eigene GTKmm-Anwendung kompilieren, also das Beispielprogramm aus dem Tutorial. Und da werde ich leider mit Fehlermeldungen überschüttet.

    Ich zitiere mal den Anfang:

    c:/Programm/Werkzeug/LIBRAR~1/GTKmm/include/sigc++-2.0/sigc++/type_traits.h: In instantiation of `sigc::is_base_and_derived<sigc::trackable, Gtk::TreeView>':
    c:/Programm/Werkzeug/LIBRAR~1/GTKmm/include/sigc++-2.0/sigc++/functors/mem_fun.h:1990:   instantiated from `sigc::bound_mem_functor3<void, Gtk::TreeView, const Glib::ustring&, int, const Glib::RefPtr<Gtk::TreeModel>&>'
    c:/Programm/Werkzeug/LIBRAR~1/GTKmm/include/gtkmm-2.4/gtkmm/treeview.h:1573:   instantiated from here
    c:/Programm/Werkzeug/LIBRAR~1/GTKmm/include/sigc++-2.0/sigc++/type_traits.h:132: invalid use of undefined type `struct sigc::is_base_and_derived<sigc::trackable, Gtk::TreeView>'
    

    Die vollständige Ausgabe habe ich unter http://rafb.net/paste/results/mSXNlg17.html abgelegt. Ich habe natürlich mit den angegebenen Pkg-config-optionen compiliert, es werden ja auch die richtigen Verzeichnisse und Libraries eingebunden Ich benutze MingGW und Eclipse. Das System ist WinXP. Ich hoffe, das sind alle wichtigen Angaben.

    Für Hilfe wäre ich sehr dankbar,

    Matthias



  • Sorry das ich mich erst jetzt melde aber am WE war ich krank.

    Irgendwie kann ich mir das nicht vorstellen das es nur das Beispiel aus dem Tutorial ist.

    Mich wundert es das er sich über Gtk::TreeView beschwert welches nirgends benutzt wird.

    Da stimmt irgendwas anderes nicht. Und das auf rafb.net/paste kann ich natürlich nicht mehr lesen weil es nicht mehr da ist.

    Zeig mal die komplette Befehlszeile die ausgeführt wird.

    BR
    evilissimo



  • Für eine Krankheit musst du dich nun wirklich nicht entschuldigen. Ich freue mich, dass es dir wieder besser geht.

    So langsam verliere ich bei der Sache ein bisschen den Überblick. Ursprünglich hatte ich einen dubiosen Linkerfehler. Dann trat von einem auf den anderen Tag dieser Compilerfehler auf. Neuinstallieren von GTK und GTKmm, nichts half.
    Ich habe jetzt das Projekt nochmal neu erstellt und voilá, es tritt wieder nur noch der Linkerfehler auf... Dieser Compilerfehler trat übrigens auch bei einem Projekt auf, das überhaupt kein GTKmm verwendet, ich hatte lediglich die gtkmm.h eingebunden. Aber sei es drum, ich hoffe einfach, dass dieser Fehler damit erledigt ist, vielleicht können wir den Linkerfehler ja auch noch lösen.

    ...

    Korrektur: Man soll den Tag nicht vor dem Abend loben. Beim Neukompilieren trat der Fehler plötzlich wieder auf... Wie schon gesagt, ich verstehe die Sache nicht so ganz...
    Quelltext: http://rafb.net/paste/results/BczVYT32.html
    Output: http://rafb.net/paste/results/gMApxJ40.html

    Jetzt schaue ich, ob ich den Linkerfehler nochmal reproduzieren kann.



  • Ich muss mich nochmal korrigieren: Es war nicht der alte Linkerfehler, sondern ein neuer, und der tritt auch schon bei einer leeren main.cpp auf:

    http://rafb.net/paste/results/arvfIO84.html

    Sieht irgendwie nach einem Problem in meinem mingw aus, oder?

    Vor ein paar Tagen ging noch alles...



  • Ich glaube und hoffe, dass das MinGW-Problem jetzt behoben ist, auch wenn ich etwas den Überblick verloren habe, was ich jetzt alles gemacht habe. Normale HelloWorldprogramme etc. gehen jetzt wieder, bei dem GTKmm-Programm kommt jetzt wieder der Linkerfehler vom Anfang (schon fast beruhigend...): Output des Tutorialprogrammes jetzt: http://rafb.net/paste/results/yqA8rN68.html



  • mkuemmerer schrieb:

    Ich glaube und hoffe, dass das MinGW-Problem jetzt behoben ist, auch wenn ich etwas den Überblick verloren habe, was ich jetzt alles gemacht habe. Normale HelloWorldprogramme etc. gehen jetzt wieder, bei dem GTKmm-Programm kommt jetzt wieder der Linkerfehler vom Anfang (schon fast beruhigend...): Output des Tutorialprogrammes jetzt: http://rafb.net/paste/results/yqA8rN68.html

    Also ehrlich gesagt bin ich überfragt. Woher hast du denn die GTK+ und die GTKmm Libraries? Von den Seiten die ich im Artikel erwähnt habe?

    Also bisher hatte ich noch nie solche Probleme. Was für eine G++ Version benutzt du denn?



  • evilissimo schrieb:

    Also ehrlich gesagt bin ich überfragt. Woher hast du denn die GTK+ und die GTKmm Libraries? Von den Seiten die ich im Artikel erwähnt habe?

    Ja. Ursprünglich hatte ich GTKmm mal selber kompiliert (erfolgreich), da trat aber genau der selbe Fehler auf. Nach Erscheinen deines Tutorials habe ich alles entfernt und deine Links benutzt. Selber Fehler.

    evilissimo schrieb:

    Also bisher hatte ich noch nie solche Probleme. Was für eine G++ Version benutzt du denn?

    Ich arbeite mit MinGW g++ 3.4.2 (September 2004). Scheint die neueste Version zu sein, wenn ich mich nicht täusche.

    Matthias



  • Ich melde mich mal wieder. Ich habe in der Zwischenzeit mit cd9000 noch ein paar Tests gemacht; wir haben das Problem auf GTK+ eingekreist. Soll heißen, dass schon die Beispielprogramme von GTK+ zwar wunderbar compilieren, aber eben nicht gelinkt werden, es hagelt ,,undefined references". Ich habe mittlerweile die verschiedensten MinGW-Compiler ausprobiert; current, candidate etc., nichts hat etwas geholfen. Kann man mit der Beschreibung vielleicht weiterkommen? Ich würde wirklich gerne mit GTKmm schreiben...


Anmelden zum Antworten