This is the mail archive of the firstname.lastname@example.org
mailing list for the Cygwin project. See the Cygwin
home page for more information.
[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index] [Subject Index] [Author Index] [Thread Index]
Re: import libraries for 3rd-party DLLs
- To: "Richard Hellicar (EML)" <Rick.Hellicar@eml.ericsson.se>
- Subject: Re: import libraries for 3rd-party DLLs
- From: Anders Norlander <email@example.com>
- Date: Thu, 11 Mar 1999 09:12:52 +0100
- CC: "'firstname.lastname@example.org'" <email@example.com>
- Delivered-To: firstname.lastname@example.org
- Delivered-To: mailing list email@example.com
- Mailing-List: contact firstname.lastname@example.org; run by ezmlm
- References: <5F052F2A01FBD11184F00008C7A4A8005D57E7@eukbant101.ericsson.se>
- Sender: email@example.com
Richard Hellicar (EML) wrote:
> I'm trying to create an "import library" to allow me to use gcc with a
> third-party DLL.
> I tried the .lib files supplied with the DLL, but neither worked (one was
> for MS, which
> did compile, but complained about entry points when executed, the other for
> The Cygwin User's Guide (Delorie, Humblet, Noer) suggests a method in
> Chapter 4
> ("Linking against DLLs"). However, if I run nm on *any* dll, not just the
> one I'm trying
> to use, it tells me "No symbols in xyz.dll"
The method suggested in the user's guide doesn't work if the
dll is stripped. (Hint: shouldn't this be mentioned in the ug?).
> 1. Should I expect either the MS or Borland .lib files to be compatible ?
Generally, no, and certainly not Borland lib files.
There are, however, patches to make gnu tools more MS compatible.
> 2. Is there a way of converting incompatible lib files ?
Depends on which format it is and if it is an import library
or a regular object library. At least in MSVC 6, I think MS
changed the format for import libraries and possibly other .lib
files as well. This stops the `nm ...' method of creating def
files from MS import libraries from working.
> 3. Why doesn't nm find symbols in *any* DLL (try: for i in
> /winnt/system32/*.DLL; do nm $i; done)
> 4. exactly what *is* supposed to be in a .def file; should the @4,@8 stuff
> be in
> there or not ? Semi-colons ?
The @x are the total size of the parameters passed to a function using
the stdcall (standard win32) calling convention. Those functions are
decorated that way by the compiler.
Semi-colons are comments.
Want to unsubscribe from this list?
Send a message to firstname.lastname@example.org