GIMP Toolkit mit MinGW auf Windows, wie?



  • Hallo,

    ich will mit dem Gimp Toolkit und MinGW grafische Oberflächen erstellen. Dabei hab ich gleich alle Probleme dieser Welt.
    (1) was ist GTK, GTK+ und GTKmm, welche Unterschiede bestehen, wie sieht das historisch aus?
    (2) was detailiert, langsam, step by step und für Schwachsinnige muss ich tun, um ein absolut simples Beispiel zum erfolgreichen Kompilieren zu bringen?

    Ich habe das Netz schon nach Anleitungen abgegrast, aber die meisten waren für Linux und der klägliche Rest für MinGW war schlicht und einfach nicht zum Laufen zu bekommen und einfach nur unverständlich.

    Was muss ich runterladen? Was ist das, was ich da runtergeladen hab? Was davon muss ich wohin extrahieren? Was muss ich dann in der Konsole alles eingeben? Welchen Sinn hat das, was ich da in der Konsole anstelle? Was muss ich beim programmieren beachten? Warum muss ich das beachten?

    Bitte helft mir, ich bin verzweifelt. Nirgends im Netz gibt es Anleitungen, mit denen ich das hinbekommen hab.

    Danke



  • 1. GTK und GTK+ ist das gleiche. GTKmm ist ein C++ Wrapper um GTK+, das GTK+ in C geschrieben ist.
    2. schau auf den jeweiligen Homepages unter http://www.gtk.org oder http://www.gtkmm.org; da findest du zahlreiche Dokus zu dem Thema



  • würd mich freuen, wenn du mir einen direkten link auf die lösung geben könntest. ich hab ja schon gesagt, dass ich auf den seiten nichts funktionierendes gefunden hab.
    kennst du leute, die das überhaupt schon mit mingw zum laufen bekommen haben?



  • Hi,

    Das hat mir bei der Installation weitergeholfen. Die Beschreibung bezieht sich aber auf den Dev-C++, aber es sollte kein Problem sein, diesen auch zu installieren.



  • danke, der letzte link hat einiges geholfen. hab das jetzt mit mingw hinbekommen. devcpp möcht ich mir nicht installieren, ist einfach nicht meine IDE.

    jetzt hab ich aber beim compilierversuch des beispiels auf http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/ch03.html#id2443682 folgende fehler bekommen:

    ich hab mit dem da compiliert (umbrüche zwecks struktur eingefügt):

    g++ -g -Wall -s -xc++ 
    
    -IC:/MinGW/include/gtkmm-2.4 -IC:/MinGW/lib/gtkmm-2.4/include -IC:/MinGW/include/glibmm-2.4 -IC:/MinGW/lib/glibmm-2.4/include -IC:/MinGW/include/gdkmm-2.4 -IC:/MinGW/lib/gdkmm-2.4/include -IC:/MinGW/include/pangomm-1.4 -IC:/MinGW/include/atkmm-1.6 -IC:/MinGW/include/gtk-2.0 -IC:/MinGW/include/sigc++-2.0 -IC:/MinGW/lib/sigc++-2.0/include -IC:/MinGW/include/glib-2.0 -IC:/MinGW/lib/glib-2.0/include -IC:/MinGW/lib/gtk-2.0/include -IC:/MinGW/include/pango-1.0 -IC:/MinGW/include/atk-1.0  -LC:/MinGW/lib -lgtkmm-2.4 -lgdkmm-2.4 -latkmm-1.6 -lgtk-win32-2.0 -lpangomm-1.4 -lglibmm-2.4 -lsigc-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv
    
    test.cpp -o test.exe
    

    die fehler:

    In file included from C:/MinGW/include/glibmm-2.4/glibmm.h:59,
    from C:/MinGW/include/gtkmm-2.4/gtkmm.h:29,
    from test.cpp:1:
    C:/MinGW/include/glibmm-2.4/glibmm/spawn.h:39: syntax error before ;' token C:/MinGW/include/glibmm-2.4/glibmm/spawn.h:144: type specifier omitted for parameterPid'
    C:/MinGW/include/glibmm-2.4/glibmm/spawn.h:144: parse error before *' token C:/MinGW/include/glibmm-2.4/glibmm/spawn.h:153: type specifier omitted for parameterPid'
    C:/MinGW/include/glibmm-2.4/glibmm/spawn.h:153: parse error before *' token C:/MinGW/include/glibmm-2.4/glibmm/spawn.h:163: type specifier omitted for parameterPid'
    C:/MinGW/include/glibmm-2.4/glibmm/spawn.h:163: parse error before *' token C:/MinGW/include/glibmm-2.4/glibmm/spawn.h:169: type specifier omitted for parameterPid'
    C:/MinGW/include/glibmm-2.4/glibmm/spawn.h:169: parse error before *' token C:/MinGW/include/glibmm-2.4/glibmm/spawn.h:195:Pid' was not declared in this
    scope
    C:/MinGW/include/glibmm-2.4/glibmm/spawn.h:195: parse error before `)' token

    in zeile 39 (spawn.h) steht "typedef GPid Pid;". in weiteren zeilen wird anscheinend "Pid" nicht verstanden. was kann ich da machen?



  • hat keiner ne idee? ich bin am verzweifeln



  • c.rackwitz schrieb:

    hat keiner ne idee? ich bin am verzweifeln

    ich tipp auf 'nen Tippfehler deinerseits, zeig mal den Code von text.cpp



  • hoffe, das hängt nicht an sowas
    http://mail.gnome.org/archives/gtkmm-list/2004-June/msg00137.html
    http://bugzilla.gnome.org/show_bug.cgi?id=143875

    wäre doof, wenn ausgerechnet bei dir der bug zutrifft.

    ps: ich kannst hier nicht testen.



  • da, genau das was auf der seite als "example" gekennzeichnet wird, direkt mit copy n paste. das hab ich versucht zu g++en.

    #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;
    }
    

    ich nehm zwar nicht devcpp, sondern nur mingw, aber das scheint wirklich dieser bescheuerte bug zu sein. *argh* hoffe, dass der bug bald irgendwie gelöst wird.



  • Beim Inkludieren inkludierst du die GTKmm Dateien, aber der Code ist von GTK+... 😉



  • Blue-Tiger schrieb:

    Beim Inkludieren inkludierst du die GTKmm Dateien, aber der Code ist von GTK+... 😉

    soll heißen:
    #include <gtkmm/gtkmm.h>

    oder? habs noch nicht probiert, aber eigentlich sollte das beispiel doch in ordnung sein, wenns denn von ner offiziellen seite kommt?

    [edit] anders gefragt: welches beispiel sollte bei mir compilieren?



  • ??

    ich dachte du hättest folgenden code versucht

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

    weil du die seite als link angegeben hattest?



  • ja den hab ich versucht zu compilieren.
    hab auch keine anderen testbaren codes in der zwischenzeit gefunden.



  • c.rackwitz schrieb:

    ja den hab ich versucht zu compilieren.
    hab auch keine anderen testbaren codes in der zwischenzeit gefunden.

    welchen denn nun?
    Bitte beachte, dass der Code, den Elise gepostet hat, nicht der gleiche ist wie der, den du gepostet hast! Bekommst du mit dem Code von Elise obigen Fehler (dann hast du ein Problem) oder mit dem, den du vorher gepostet hast (in dem Fall: versuchs mit dem von Elise)?



  • sorry, den unterschied hab ich nicht bemerkt 🙄
    ich hab den code von elise auch probiert, aber die fehler wieder (genau die gleichen).

    mich würde interessieren, ob ich vielleicht irgendetwas bei der installation falsch gemacht habe. die anleitung war ja für dev-c++ geschrieben und bei ein paar sachen musste ich mir die dinge zusammenreimen.

    klingt vielleicht radikal, aber wie wäre es, wenn ich vor dem #include die Pid oder was da nicht gefunden wird selbst definiere? wenn mir jemand sagt, wie Pid (oder GPid) definiert ist, dann probier ich es mal.

    auf jeden fall danke bis hier hin



  • [edit] nee quatsch..
    tschuldigung für post


Anmelden zum Antworten