From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mumit Khan To: John Garrison Cc: cygwin@sourceware.cygnus.com Subject: Re: Libraries not working Date: Tue, 06 Jul 1999 14:27:00 -0000 Message-id: <199907062127.QAA32661@mercury.xraylith.wisc.edu> References: <378264FF.D064AE02@visi.net> X-SW-Source: 1999-07/msg00108.html John Garrison 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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mumit Khan To: John Garrison Cc: cygwin@sourceware.cygnus.com Subject: Re: Libraries not working Date: Sat, 31 Jul 1999 18:34:00 -0000 Message-ID: <199907062127.QAA32661@mercury.xraylith.wisc.edu> References: <378264FF.D064AE02@visi.net> X-SW-Source: 1999-07n/msg00108.html Message-ID: <19990731183400.Vq5bzSZNdZT6rIOokUwDaRegPT-0Qfdr9rrlG6jaVog@z> John Garrison 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