GTKmm mit Code::Blocks



  • Hi,

    ich arbeite mit Code::Blocks, Windows XP SP 2, .Net 2 und GTK(mm) 2.8.

    Jetzt hab ich mal versucht, ein einfaches Hello World mit GTKmm ans Laufen zu kriegen. Also erstell ich in Code::Blocks ne neue Konsolenanwendung, schreib den Quelltext aus evilissimos Tutorial ab, linke die Bibliotheken und Header dazu und kompilier das Ganze.

    Beim Starten bekomm ich zuerst den Fehler R6034, direkt gefolgt von einem

    Die Anwendung konnte nicht richtig initialisiert werden (0xc0000142). Klicken Sie auf "OK", um die Anwendung zu beenden.
    

    Jetzt hab ich mir schon einen abgemurkst, um von Hand ein Manifest zu erstellen, hat aber leider nicht geklappt, weil al.exe (der assembly linker) meine exe nicht annehmen wollte.

    Was mach ich falsch? Wie kann ich GTKmm benutzen?

    MfG,

    Michael E.



  • Benutzt du zufällig die VC7.1 Commandline tools?

    Weil die neuen binaries (wenn du die von hier http://www.pcpm.ucl.ac.be/~gustin/win32_ports/ heruntergeladen hast) funktionieren eigentlich nur noch mit VC8

    Das würde ich dann einfach mal darauf schieben *fg*

    BR
    Vinzenz 😉



  • Ich habe zwar auch die VC 7.1 Command Line Tools auf meinem Rechner, aber wenn ich nicht völlig durchgedreht bin, hab ich die exe mit dem Compiler von VC 8 kompiliert.

    Wie siehts denn mim gcc aus? Welche Versionen werden unterstützt?



  • Michael E. schrieb:

    Ich habe zwar auch die VC 7.1 Command Line Tools auf meinem Rechner, aber wenn ich nicht völlig durchgedreht bin, hab ich die exe mit dem Compiler von VC 8 kompiliert.

    Wie siehts denn mim gcc aus? Welche Versionen werden unterstützt?

    MinGW 3.4.x was anderes gibts (aktuell) grad gar net für Win 😛



  • Mit MinGW gibts folgende Meldung:

    .objs\main.o:main.cpp:(.text+0x18c): undefined reference to `Gtk::Main::Main(int&, char**&, bool)'
    .objs\main.o:main.cpp:(.text+0x1a9): undefined reference to `Gtk::Window::Window(Gtk::WindowType)'
    .objs\main.o:main.cpp:(.text+0x1be): undefined reference to `Gtk::Main::run(Gtk::Window&)'
    .objs\main.o:main.cpp:(.text+0x1d3): undefined reference to `Gtk::Window::~Window()'
    .objs\main.o:main.cpp:(.text+0x1e8): undefined reference to `Gtk::Main::~Main()'
    .objs\main.o:main.cpp:(.text+0x232): undefined reference to `Gtk::Window::~Window()'
    .objs\main.o:main.cpp:(.text+0x25f): undefined reference to `Gtk::Main::~Main()'
    collect2: ld returned 1 exit status
    

    Dabei benutze ich dieselben Einstellungen/Pfade wie beim VC 7.1/8 😞



  • ähm ja genau. *fg*

    Zeig mal dein Makefile oder Settings (wie auch immer) für MinGW

    BR
    Vinzenz



  • Hmm, also da hab ich einfach alle Ordner und Dateien reingetan, die mir verdächtig vorkamen 😉

    keine Compiler-Flags und sonstige Optionen/Defines.

    Link libraries:
    G:\Programme\GTK\lib\art_lgpl_2.lib
    G:\Programme\GTK\lib\asprintf.lib
    G:\Programme\GTK\lib\atk-1.0.lib
    G:\Programme\GTK\lib\atkmm-1.6.lib
    G:\Programme\GTK\lib\atkmm-1.6d.lib
    G:\Programme\GTK\lib\bz2.lib
    G:\Programme\GTK\lib\cairo.lib
    G:\Programme\GTK\lib\chartset.lib
    G:\Programme\GTK\lib\fontconfig.lib
    G:\Programme\GTK\lib\freetype.lib
    G:\Programme\GTK\lib\gdk_pixbuf-2.0.lib
    G:\Programme\GTK\lib\gdkglext-win32-1.0.lib
    G:\Programme\GTK\lib\gdkmm-2.4.lib
    G:\Programme\GTK\lib\gdkmm-2.4d.lib
    G:\Programme\GTK\lib\gdk-win32-2.0.lib
    G:\Programme\GTK\lib\glade-2.0.lib
    G:\Programme\GTK\lib\glademm-2.4.lib
    G:\Programme\GTK\lib\glib-2.0.lib
    G:\Programme\GTK\lib\glibmm-2.4.lib
    G:\Programme\GTK\lib\glibmm-2.4d.lib
    G:\Programme\GTK\lib\gmodule-2.0.lib
    G:\Programme\GTK\lib\gobject-2.0.lib
    G:\Programme\GTK\lib\gthread-2.0.lib
    G:\Programme\GTK\lib\gtkglext-win32-1.0.lib
    G:\Programme\GTK\lib\gtkmm-2.4.lib
    G:\Programme\GTK\lib\gtkmm-2.4d.lib
    G:\Programme\GTK\lib\gtk-win32-2.0.lib
    G:\Programme\GTK\lib\iconv.lib
    G:\Programme\GTK\lib\intl.lib
    G:\Programme\GTK\lib\jpeg.lib
    G:\Programme\GTK\lib\pango-1.0.lib
    G:\Programme\GTK\lib\pangocairo-1.0.lib
    G:\Programme\GTK\lib\pangoft2-1.0.lib
    G:\Programme\GTK\lib\pangomm-1.4.lib
    G:\Programme\GTK\lib\pangomm-1.4d.lib
    G:\Programme\GTK\lib\pangowin32-1.0.lib
    G:\Programme\GTK\lib\png.lib
    G:\Programme\GTK\lib\popt.lib
    G:\Programme\GTK\lib\sigc-2.0.lib
    G:\Programme\GTK\lib\sigc-2.0d.lib
    G:\Programme\GTK\lib\tiff.lib
    G:\Programme\GTK\lib\xml2.lib
    G:\Programme\GTK\lib\xml++-2.6.lib
    G:\Programme\GTK\lib\xml++-2.6d.lib

    Soo, dann die Directories:

    Linker:

    G:\Programme\CodeBlocks\lib
    G:\Programme\GTK\lib

    Compiler:

    G:\Programme\CodeBlocks\include
    G:\Programme\GTK\include\gtkmm-2.4
    G:\Programme\GTK
    G:\Programme\GTK\include\glibmm-2.4
    G:\Programme\GTK\include\gdkmm-2.4
    G:\Programme\GTK\include\glib-2.0
    G:\Programme\GTK\lib\gdkmm-2.4\include
    G:\Programme\GTK\lib\glib-2.0\include
    G:\Programme\GTK\lib\glibmm-2.4\include
    G:\Programme\GTK\lib\gtk-2.0\include
    G:\Programme\GTK\lib\gtkglext-1.0\include
    G:\Programme\GTK\lib\gtkmm-2.4\include
    G:\Programme\GTK\lib\libglademm-2.4\include
    G:\Programme\GTK\lib\libxml++-2.6\include
    G:\Programme\GTK\lib\sigc++-2.0\include
    G:\Programme\GTK\include\sigc++-2.0
    G:\Programme\GTK\include\gtk-2.0
    G:\Programme\GTK\include\cairo
    G:\Programme\GTK\include\pango-1.0
    G:\Programme\GTK\include\pangomm-1.4
    G:\Programme\GTK\include\atkmm-1.6
    G:\Programme\GTK\include\atk-1.0

    Und noch die einzelnen Programme (aus G:\Programme\CodeBlocks\bin):

    C compiler: gcc.exe
    C++ compiler: g++.exe
    Linker for dynamic libs: g++.exe
    Linker for static libs: ar.exe
    Debugger: gdb.exe
    Resource compiler: windres.exe
    Make program: make.exe



  • Also normalerweise benutzt man auch die Ausgaben von pkg-config was aber in der Version scheinbar Defekt ist und nicht wirklich funktioniert.

    Du verwendest für MinGW übrigens auch die falschen Libs da man für MinGW die .a varianten wählt. und man gibt auch nicht jedes mal den ganzen Pfad an sondern einmal den Pfad: -LG:\Programme\GTK\lib\ und dann -lgtkmm-2.4 -lart_lgpl_2 etc

    Übringens sind die Libs mit dem d hinten debug libs und die Ohne release libs, beide einzubinden kann auch nur zu Problemen führen.

    BR
    Vinzenz



  • Hi ...
    Vielleicht hilft es dir ja, ich habe mein Code::Blocks Gtkmm - Usertemplate auf deine Gtk-Pfadangaben umgeändert:

    http://www.livetip.de/downloads/Gtkmm_Project.rar

    Einfach den Ordner dadrin in "C:\Dokumente und Einstellungen\<Benutzer>\.CodeBlocks\" rein tun.

    Dann kannste das in CB unter New Project > User Templates wählen...

    Hoffe es hilft 😉



  • Danke für das User Template. Damit konnte sogar ich jetzt ein Programm erstellen 🙂

    Auch vielen Dank an dich, evilissimo 🙂



  • Freak_Coder schrieb:

    Hi ...
    Vielleicht hilft es dir ja, ich habe mein Code::Blocks Gtkmm - Usertemplate auf deine Gtk-Pfadangaben umgeändert:

    http://www.livetip.de/downloads/Gtkmm_Project.rar

    Einfach den Ordner dadrin in "C:\Dokumente und Einstellungen\<Benutzer>\.CodeBlocks\" rein tun.

    Dann kannste das in CB unter New Project > User Templates wählen...

    Hoffe es hilft 😉

    Hmm welche GTKmm Version benutzt du eigentlich?
    Ich frage nur weil das mit dem "-Wl,--enable-runtime-pseudo-reloc" angeblich in der aktuellen 2.8er Version für Windows nicht mehr gebraucht wird. (also bei MinGW)

    Würde mich mal interessieren ob man TreeViews etc verwenden kann ohne diese Linkeroption.

    BR
    Vinzenz



  • evilissimo schrieb:

    Würde mich mal interessieren ob man TreeViews etc verwenden kann ohne diese Linkeroption.

    Ja kann man, bei der 2.6er hats nicht geklappt.

    Seit ich 2.8 habe, habe ich es auch nicht mehr rausgenommen, weil ich nicht wusste das es in der 2.8er auch ohne klappt ... (Jetzt weiß ich es ja 😃 )

    Vor einigen Montaten aber, hatte ich das Problem wieder, aber bin mir nicht sicher ob das schon die 2.8er war.

    Ich lasse es einfach weiterhin bei meinem Projekten drin 😉
    Oder hat es vielleicht irgendeinen Nachteil.



  • Also der Nachteil war bei der 2.6er Version afaik nur das mit dem auto-import blah Fehler und es musste deswegen auch rein.

    Naja ob es irgendwelche Nach- oder Vorteile hat kann ich dir nicht sagen

    BR
    Vinzenz



  • hi,

    ich hab das selbe problem, und auch wenn das topic jetzt schon jahre alt ist, würde nochmal jemand das template uppen?


Anmelden zum Antworten