Date: Thu, 11 Jan 1996 13:28:43 +0200 (IST) From: Eli Zaretskii To: coomar AT iitk DOT ernet DOT in Cc: djgpp AT delorie DOT com Subject: Re: Using Turbo-C with DJgpp On Thu, 11 Jan 1996 coomar AT iitk DOT ernet DOT in wrote: > I have a library ".lib" compiled using TURBO-C and I have another > library ".a" compiled using djgpp+gcc. I now want to link this ".a" library > to my ".lib" library so that I can write my programs in Turbo-C using my > new ".lib" . Is it possible at all. I work on a 486DX-33Mhz running DOS-6.22 . This one's from the FAQ (available as faq102.zip from the same place you get DJGPP): 17.4 Q: I have a set of useful functions in a .obj format, but no source code. Can I use them with my DJGPP program? Q: I have this ACMELUXE.LIB library of functions which I want to use. I've extracted all the .obj files, but when I try to link them with my program, gcc complains: ``File format not recognized''. Can't I use these object files? Q: I've got a bunch of .obj files I want to use. I've ran AR to make a Unix-style .a object library, but got an error message from gcc saying ``couldn't read symbols: No symbols''. How can I link them with my code? A: Sorry, you can't. The GNU linker called by gcc doesn't understand the format of .obj files which other DOS-based compilers/assemblers emit. Unless you can get the source of those functions and compile them with gcc, you won't be able to use them. (You can also try using LIB32 librarian from Microsoft C8 to convert object files to COFF.) But don't feel too bad about it: most probably, they were written for real-mode programs, and without extensive modifications would have crashed your program anyway...