Re: cross compiling and ld auto-import errors



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




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]