how to make a .lib from msfl70d.dll

DJ Delorie dj@delorie.com
Mon Sep 18 14:01:00 GMT 2000


> 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



More information about the Cygwin mailing list