GTKmm :: Buchstaben werden nicht angezeigt



  • Nun habe ich es endlich geschafft gtkmm einzurichten. Nur leider gibt es bei meinem Testprogramm einen kleinen Schönheitsfehler. An Stelle des "Hallo Welt" Textes werden in den Labels nur kleine (vertikal gestelllte) Rechtecke angezeigt. Hier mein Code

    #include <gtkmm.h>
    using namespace Gtk;
    
    int main(int argc, char *argv[])
    {
        Main kit(argc, argv);
    
        Window window;
    
        window.set_title("Hallo Welt?");
    
        HBox box(true,5);
    
        Label label1("Hallo Welt!");
        Label label2("Hallo Welt!");
    
        box.pack_start(label1);
        box.pack_start(label2);
    
        window.add(box);
    
        window.show_all_children();
    
        Main::run(window);
    
        return 0;
    }
    

    Ist da irgendwas falsch?



  • Hallo,

    an deinem Code ist nichts falsch. Dieser funktioniert bei mir wunderbar. Wahrscheinlich hast du einen Fehler bei der Einrichtung von gtkmm gemacht. Des Weiteren solltest du für dein Window eine eigene Klasse anlegen, die von Gtk::Window erbt.



  • Das mit der Klasse wollte ich noch machen, aber ich hab fast 2 Wochen gebraucht um gtkmm überhaupt eingerichtet zu bekommen, weil ich nirgendwo eine gescheite Anleitung gefunden habe welche Dateien man einbinden muss. 😡
    Also wieder von vorne...

    thx trotzdem



  • Könnte ein Problem mit der Dateicodierung sein. Welches BS verwendest du überhaupt?



  • alfonsospringer schrieb:

    Das mit der Klasse wollte ich noch machen, aber ich hab fast 2 Wochen gebraucht um gtkmm überhaupt eingerichtet zu bekommen, weil ich nirgendwo eine gescheite Anleitung gefunden habe welche Dateien man einbinden muss. 😡
    Also wieder von vorne...

    thx trotzdem

    pkg-config? Mitgelieferte Property-sheets?



  • Ich verwende Windows XP. Wen ich pkg-config aufrufe sagt er "must specify package names on command line" - Welche Package Namen muss ich denn angeben?



  • Ist dir schon mal das Tutorial in der FAQ hier dazu aufgefallen, das geht auch ohne pkg-config.

    Aber kompilieren würde so gehen (angenommen, du verwendest MinGW): g++ -o main main.cpp $(pkg-config --libs --cflags gtkmm-2.4)



  • nein, aber jetzt. Vielen dank 😃



  • leider hat auch das tutorial gegen die Kästchen nicht geholfen 😞

    Wenn ich das Programm jedoch aus der Konsole starte bekomme zu den Kästchen die Meldung:

    (console.exe:1196): Pango-WARNING **: _Pango_cairo_font_install called with bad font, expect ugly output

    Ich nehme mal an, dass es damit zu tun hat. Weiss einer von euch, wie sich das beheben lässt?



  • Rück mal die Versionsnummern der einzelnen Libs raus. Und in welchem Format die Quellcodedatei kodiert ist.



  • Da bei gtkmm noch nicht mal die bereits kompilierten Beispiele funktionierenn, versuche ich jetzt nur mit gtk auszukommen. Beim ausfürhen bekomme ihc den Fehler:

    GTK-Error **: Incompatible build!
    The code using GTK+ thinks GtkBox is of different
    size than it actually is in this build of GTK+.
    On Windows, this probably means that you have compiled
    your code with gcc without the -mms-bitfields swich
    ,
    or that you are using an unsupported compiler.
    aborting...

    Damit hat "er" föllig Recht. Was sind swiches und wie setze ich sie unter Code::Blocks (Ja ich stelle Anfängerfragen). Mein Compiler ist mingw und wird garantiert unterstützt
    🙂



  • alfonsospringer schrieb:

    Damit hat "er" föllig Recht. Was sind swiches und wie setze ich sie unter Code::Blocks (Ja ich stelle Anfängerfragen). Mein Compiler ist mingw und wird garantiert unterstützt
    🙂

    Versuch dich mal in den Projektoptionen, da kann man das mit Sicherheit eintragen. Und sonst wirf halt kurz die Shell an.



  • jetzt könnt ihr entgültig über mich lachen:

    Ich habe bis jetzt sehr selten mit der shell gearbeitet, weil ich nicht genau wusste wie das geht. Klar "gxx helloworld.cpp" bekomme ich noch hin, aber wie ist das mit dem einbinden von Bibliotheken? Ich glaube da muss man dann ein makefile für erstellen, und davon habe ich überhaupt keine Ahnung. Gibt es dazu auch einen FAQ Artikel irgendwo, auf den ihr mich verweisen könnt?



  • g++ -o main main.cpp -mms-bitfields $(pkg-config --libs --cflags gtkmm-2.4)

    Abgesehen davon würde ich es wirklich erst in den Projektoptionen versuchen.


Anmelden zum Antworten