This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Libraries not working


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]