From: John F. <jo...@ti...> - 2004-07-26 20:38:15
|
Did you use the '-k' command line option for dlltool? JF Ryan Underwood wrote: > Hello, > > I have a closed DLL that was built with the Borland compiler that I'd > like to call from my mingw application. The interface is stdcall. > However, the symbol mangling is not compatible with mingw's symbol > mangling. In the DLL, the symbols are just "Symbol" whereas mingw's > references are to "Symbol@4" and such. > > I see on this page: > http://mywebpage.netscape.com/yongweiwu/stdcall.htm > > that Borland is using a different symbol naming scheme for stdcall from > almost everyone else. I tried the following in the .DEF file for the > DLL (after "Symbol" was placed): > Symbol@4 = Symbol > > and then re-ran dlltool to produce an import library based on the .DEF. > This allows the application to link with the import library, because a > Symbol@4 symbol is produced. However, when I attempt to run the > application, I get the following (on WinXP): > > program.exe - Entry Point Not Found > The procedure entry point Symbol@4 could not be located in the dynamic > link library borland.dll. > > I guess the Symbol@4 import function is trying to call Symbol@4 in the > DLL. But why would it, given the above statement in the .DEF file? > Should it not simply be an alias for the Symbol function in the DLL? > > Thanks for any hints, > |