Re: Problem with gtkbuilder mingw cross (not the signal problem)
John Stebbins wrote: Tor Lillqvist wrote: (Adding gtk-app-devel-list back as Cc. Please let's keep this discussion on the list.) Oops, didn't notice that reply went direct to you instead of to the list. Why make it harder for yourself, why not use a shared library (dll) build of gtk+ like everyone else? --tml Short answer, I don't know what I'm doing ;-) . I saw that cross development environment announced on freshmeat, and on a whim I decided to try porting my application to windows. It looked like a nice self contained set of tools that could get me there. I didn't explicitly ask for it to build static. From the package's feature list, creates libraries to be linked statically, no DLL hell. The last time I build a cross-compiler from scratch and build the GTK stack for it, it created all dlls. I guess that was my own setup though. I use only Tor's official zip files if I do that now. As far as I know, GTK simply cannot run statically linked, especially on win32. Basically all kinds of paths are keyed off of the main gtk dll's path. In other words, if you put the gtk dll in a folder named bin, it will automatically check in ../etc/ for stuff like the gtkrc file, ../lib/gtk-2.0 for things like theme engines. This makes it easy to bundle the runtime up with your EXE on windows. In short, GTK just isn't designed to be a statically-build system. Additionally if you did so, your resulting executable has to be licensed to users under the terms of the LGPL, something that is not always desirable. It's not hard to add the official gtk win32 binaries, libraries, and include files to your cross-compiler's environment. On my machine I have /opt/mingw/i386-pc-mingw32 and inside there are bin, include, and lib directories. I just unzip the zip files inside that folder, and things normally go into the right places. The only catch is dealing with pkg-config. you have to set the PKG_CONFIG_PATH variable to point to /opt/mingw/i386-pc-mingw32/lib/pkgconfig, but also you ahve to modify all the .pc files for GTK to have the linux paths on your machine (paths to the mingw areas). ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Problem with gtkbuilder mingw cross (not the signal problem)
I did some sleuthing, and discovered that g_module_symbol() fails to find the symbol gtk_adjustment_get_type. Sorry, I have no idea why that would happen. gtk_adjustment_get_type is exported from the libgtk DLL (libgtk-win32-2.0-0.dll), just like all the other functions. You will have to dig into it more deeply. --tml ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Problem with gtkbuilder mingw cross (not the signal problem)
(Adding gtk-app-devel-list back as Cc. Please let's keep this discussion on the list.) I'm statically linking libgtk-win32-2.0.a. That cross development environment I pointed out creates only static libraries for everything. I'll bet it has something to do with that. Is using the dll required?' Ah... Well, if you use a static öibgtk you are on your own;) If you then try to look up gtk+'s own functions with g_module_symbol, I am not surprised that it doesn't work, as those symbols are presumably not exported from the .exe into which gtk has been statically linked. (Yes, symbols can be exported not only from .dll files, but also .exe files. It is not common, but possible. Basically there is very little difference between a .dll and a .exe.) Do note that the concept of exported symbols is quite different in PE executables (on Windows) and ELF ones (on Linux). Why make it harder for yourself, why not use a shared library (dll) build of gtk+ like everyone else? --tml ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Problem with gtkbuilder mingw cross (not the signal problem)
Tor Lillqvist wrote: (Adding gtk-app-devel-list back as Cc. Please let's keep this discussion on the list.) Oops, didn't notice that reply went direct to you instead of to the list. Why make it harder for yourself, why not use a shared library (dll) build of gtk+ like everyone else? --tml Short answer, I don't know what I'm doing ;-) . I saw that cross development environment announced on freshmeat, and on a whim I decided to try porting my application to windows. It looked like a nice self contained set of tools that could get me there. I didn't explicitly ask for it to build static. From the package's feature list, creates libraries to be linked statically, no DLL hell. ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list