From: Oliver L. <bl...@bl...> - 2008-12-19 18:29:42
|
Howdy, I'm having trouble compiling a GTK application for Win32 using MinGW under MSys. While the compiler commands work fine, the following link command causes trouble: gcc -Wall `pkg-config --libs gtk+-2.0 gthread-2.0` -o MyPrg.exe src/main.o src/app.o src/cpu.o src/io.o src/str.o src/sys.o output: undefined reference to g_printf undefined reference to g_object_unref ... and so on When i just modify the order of args in the command like this: gcc -o MyPrg.exe src/main.o src/app.o src/cpu.o src/io.o src/str.o src/sys.o -Wall `pkg-config --libs gtk+-2.0 gthread-2.0` ...then linking works fine. The matter is, i have to put '-o MyPrg.exe' and especially all object filenames at the beginning of the command line, followed by all other options... This problem ain't easy to circumvent because the linker commands in question are generated by either autotools or SCons, both causing the same trouble. I've tried this with gcc-core-3.4.5 as well as gcc-part-core-4.3.0, both with the same problem. By the way, `pkg-config --libs gtk+-2.0 gthread-2.0` is resolved to: -LE:/MSYS_GTK/1.0/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl Again, compiler commands work fine, even if they contain a similar component like `pkg-config --cflags gtk+-2.0 gthread-2.0`. It's only about linking. GTK for Windows can be downloaded here: http://www.gtk.org/download-windows.html Direct link to the all-in-one bundle: http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.6-20081216_win32.zip -- Cheers, Oliver 'Bloody' Lange. |