Mailing-List: contact cygwin-help@sourceware.cygnus.com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@sources.redhat.com Delivered-To: mailing list cygwin@sources.redhat.com Date: Mon, 18 Sep 2000 17:00:49 -0400 Message-Id: <200009182100.RAA22361@envy.delorie.com> From: DJ Delorie To: raj@sahib.com CC: cygwin@sourceware.cygnus.com In-reply-to: <003d01c021b1$b5a21440$0300a8c0@sumt1.nj.home.com> (raj@sahib.com) Subject: Re: how to make a .lib from msfl70d.dll References: <27832437.969144793742.JavaMail.imail@digger.excite.com> <200009182000.QAA21861@envy.delorie.com> <003d01c021b1$b5a21440$0300a8c0@sumt1.nj.home.com> > Did not work. If I compile with the dll, I just get Undefined references. You still need a matching header file (*.h) to get the cdecl/stdcall prototypes. Plus, the .def file is allowed to export symbols with different names. > I did figure out how to build the .lib (duhh) using the dlltool. > They do send a .def file so that one may make ones own import file. You can do it with ld also: ld --out-implib libfoo.a foo.def as long as you ignore all the errors about undefined symbols ;-) > "A required .DLL file, DLL/MSFL70D.DLL, was not found" Look for a "LIBRARY" statement inside the .def and see what they list for the name of the dll. That's what counts if it's present. > "the foo.exe file is linked to missing export > MSFL70D.DLL:MSFL1_CloseDirectory@4. " Use "objdump -p msfl1.dll" to see the list of exports from the dll, and a similar command to see the imports from your executable. > They shipped a VisualC++ .lib with the product, and I am able to > compile and run with that, but I just dont trust MS products. I > have used gcc (and even djgpp - thanks DJ) for years, and would > rather have the right .lib file. The current linker can handle MS import libraries just fine. -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe@sourceware.cygnus.com