Mailing-List: contact cygwin-help@sourceware.cygnus.com; run by ezmlm Sender: cygwin-owner@sourceware.cygnus.com Delivered-To: mailing list cygwin@sourceware.cygnus.com Message-Id: <199906231500.KAA00598@mercury.xraylith.wisc.edu> To: Emanuele ALIBERTI cc: cygwin@sourceware.cygnus.com Subject: Re: Dlls @n symbols In-Reply-To: Your message of "Wed, 23 Jun 1999 00:09:26 PDT." <19990623070926.36354.qmail@hotmail.com> Date: Wed, 23 Jun 1999 10:00:40 -0500 From: Mumit Khan Emanuele ALIBERTI writes: > I had to face the same problem. But could not solve it completely yet. There > is also a mistake in the dlltool documentation, where it is told the figure > after @ is the function's ordinal number: it is actually the stack size the > exported function will add to the ESP on return (that's STDCALL). > To make a clean exports table, now I use explicit aliasing in the .DEF file: I'll take a look at the doc. I believe the docs refer the number "1" below as the ordinal, not the @ number in foo@0. EXPORTS foo = foo@0 @ 1 ; 1 is the ordinal number. > ---------- > LIBRARY sample > EXPORTS > Bar=Bar@0 > Foo=Foo@24 It turns out that Suhaib's problem is very different than yours. What you're telling the dll tools is that you want to link with Bar@0, but have the DLL export Bar; similarly with Foo. One way to get both in the export list is the following: LIBRARY sample EXPORTS Bar@0 Bar=Bar@0 Foo@24 Foo=Foo@24 > ---------- > but still fail to generate an import library which makes the application > dynamically link correctly. In the context of the previous example .DEF, I > get errors like "Loader could not find Foo@24 in sample.dll" (in fact > sample.dll exports now "Foo", not "Foo@24"). Now sample.dll exports both Foo and Foo@24. dllwrap and dlltool both provide --add-stdcall-alias option just for this so you don't have to do this manually. See my dllhelpers examples for more info at http://www.xraylith.wisc.edu/pub/khan/gnu-win32/dllhelpers.html. Regards, Mumit -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe@sourceware.cygnus.com