This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Re: Libraries not working
- To: John Garrison <jeg@visi.net>
- Subject: Re: Libraries not working
- From: Mumit Khan <khan@xraylith.wisc.EDU>
- Date: Tue, 06 Jul 1999 16:27:18 -0500
- cc: cygwin@sourceware.cygnus.com
John Garrison <jeg@visi.net> writes:
> >
> > $ i586-cygwin32-nm libIMG.a | grep IMG_Load_RW
> >
> > (or, i386-mingw32-nm if you're using Mingw cross-compiler).
> >
> > shows what?
> >
>
> [bin]# ./i586-mingw32-nm /usr/win32/lib/libIMG.a | grep IMG_Load_RW
> ./i586-mingw32-nm: IMG.c: File format not recognized
> ./i586-mingw32-nm: IMG_tif.c: File format not recognized
> ./i586-mingw32-nm: IMG_xxx.c: File format not recognized
> ./i586-mingw32-nm: IMG_bmp.c: File format not recognized
>
> What does it mean file format not recognized? it's C code, compiled for wind
> ows
> with mingw32. I would say maybe there were some Linux object files in the
> directory that wouldn't have gotten recompiled, but that isn't likely, it wou
> ld
> be all the objects or nothing, make clean wipes out all .o files and make
> creates all .o files.
That means that libIMG.a was NOT compiled for windows32 target, but
possibly for your host (``nm libIMG.a'' then would show the symbols
instead).
libIMG.a cannot be a host library, but rather has to be a target
library. Until that is fixed, nothing else will work. Same goes for
*all* the object files and archives on the command line you're using.
Make sure you're using the cross-compiler to build the libIMG.a, and
make sure the cross-compiler is using the cross assembler, and that
you're using cross-tools (ix86-mingw32-ar, ix86-mingw32-ranlib) to
build the archive. This is fundamental to building anything in a
cross-development environment.
Regards,
Mumit
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com