Never mind, I solved it. There were a few g_mutex_lock/unlock calls in the code and that seemed to be the problem. I replaced them with gdk_threads_enter() and gdk_threads_leave() (after ensuring that g_threads_init() and gdk_threads_init() were both called) and the linker was much happier.
-Bethany On Fri, 2007-06-01 at 10:43 -0400, Bethany Seeger wrote: > Hi, > > I'm cross compiling a linux application to work on Windows using > i586-mingw32msvc-gcc. > > The application is using Gtk and Gdk calls. > > I'm getting linking errors about glib that I don't know how to resolve. > Here's the compile time output. > > i586-mingw32msvc-gcc demo.o dthread.o callbacks.o interface.o > hsv2rgb.o polar.o rebin.o scope.o seismograph.o sgram.o spin.o > vbargraph.o > waterfall.o /usr/local/win32gtk2.4/Runtime/lib/iconv.dll > /usr/local/win32gtk2.4/Runtime/lib/intl.dll > /usr/local/win32gtk2.4/Runtime/lib/libatk-1.0-0.dll > /usr/local/win32gtk2.4/Runtime/lib/libgdk-win32-2.0-0.dll > /usr/local/win32gtk2.4/Runtime/lib/libgdk_pixbuf-2.0-0.dll > /usr/local/win32gtk2.4/Runtime/lib/libglib-2.0-0.dll > /usr/local/win32gtk2.4/Runtime/lib/libgmodule-2.0-0.dll > /usr/local/win32gtk2.4/Runtime/lib/libgobject-2.0-0.dll > /usr/local/win32gtk2.4/Runtime/lib/libgthread-2.0-0.dll > /usr/local/win32gtk2.4/Runtime/lib/libgtk-win32-2.0-0.dll > /usr/local/win32gtk2.4/Runtime/lib/libpango-1.0-0.dll > /usr/local/win32gtk2.4/Runtime/lib/libpangowin32-1.0-0.dll -lm -o demo > polar.o:polar.c:(.text+0x2a5): variable > '_g_thread_functions_for_glib_use' can't be auto-imported. Please read > the documentation for ld's --enable-auto-import for details. > polar.o:polar.c:(.text+0x2e1): variable > '_g_thread_functions_for_glib_use' can't be auto-imported. Please read > the documentation for ld's --enable-auto-import for details. > polar.o:polar.c:(.text+0x913): variable > '_g_thread_functions_for_glib_use' can't be auto-imported. Please read > the documentation for ld's --enable-auto-import for details. > polar.o:polar.c:(.text+0x95d): variable > '_g_thread_functions_for_glib_use' can't be auto-imported. Please read > the documentation for ld's --enable-auto-import for details. > polar.o:polar.c:(.text+0x19a0): variable > '_g_thread_functions_for_glib_use' can't be auto-imported. Please read > the documentation for ld's --enable-auto-import for details. > polar.o:polar.c:(.text+0x19dc): variable > '_g_thread_functions_for_glib_use' can't be auto-imported. Please read > the documentation for ld's --enable-auto-import for details. > Info: resolving _g_threads_got_initialized by linking to > __imp__g_threads_got_initialized (auto-import) > Info: resolving _g_thread_functions_for_glib_use by linking to > __imp__g_thread_functions_for_glib_use (auto-import) > collect2: ld returned 1 exit status > make: *** [demo] Error 1 > > >From what I've read, I need to force (external) constants to be > variables, but I'm not sure how I can do that when the errors are coming > from the glib library, underneath Gtk/Gdk. (or declare them explicitly > with __declspec(dllimport)). > > I'm relatively new to cross-compiling, so I'm a little baffled as to > where to go with this. > > Any advice you can offer would be greatly appreciated. > > Thanks, > Bethany > > _______________________________________________ > gtk-app-devel-list mailing list > gtk-app-devel-list@gnome.org > http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list