Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-ID: <36E77B04.6F9A36F7@hem2.passagen.se> Date: Thu, 11 Mar 1999 09:12:52 +0100 From: Anders Norlander X-Mailer: Mozilla 4.01 [en] (Win95; I) MIME-Version: 1.0 To: "Richard Hellicar (EML)" CC: "'cygwin AT sourceware DOT cygnus DOT com'" Subject: Re: import libraries for 3rd-party DLLs X-Priority: 3 (Normal) References: <5F052F2A01FBD11184F00008C7A4A8005D57E7 AT eukbant101 DOT ericsson DOT se> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Richard Hellicar (EML) wrote: > > Hello, > > > 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 > Borland). > > 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) See above > 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. Regards, Anders -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com