delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2000/09/18/17:02:20

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Date: Mon, 18 Sep 2000 17:00:49 -0400
Message-Id: <200009182100.RAA22361@envy.delorie.com>
From: DJ Delorie <dj AT delorie DOT com>
To: raj AT sahib DOT com
CC: cygwin AT sourceware DOT cygnus DOT com
In-reply-to: <003d01c021b1$b5a21440$0300a8c0@sumt1.nj.home.com>
(raj AT sahib DOT com)
Subject: Re: how to make a .lib from msfl70d.dll
References: <27832437 DOT 969144793742 DOT JavaMail DOT imail AT digger DOT excite DOT com> <200009182000 DOT QAA21861 AT envy DOT delorie DOT com> <003d01c021b1$b5a21440$0300a8c0 AT sumt1 DOT nj DOT home DOT 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 AT 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 AT sourceware DOT cygnus DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019