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

Reply via email to