This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Summary/Solution Re: Runtime error: Entry point not found




Greetings (and thanks to Marcus Hall who provided the critical hint)

I was trying to link an import library/DLL with a project compiled and
linked with gnu-win32 b19.  The smapi.lib (from the IBM Via-Voice speech
recognition product) linked fine but caused a run-time error.  The link
map of the executable showed a garbage "^S" where the first member name
of the SMAPI.dll was supposed to be.  As correctly pointed out by Marcus,
the LIB format is incompatible with the gnu-win32 linker.

Dlltool to the rescue!

Thanks to Marcus' hint and some further research, I tried using Dlltool
to create the smapi.a library.  Given the obfuscation of the dll this
didn't work.  All symbols showed up as undefined.  I had to manually
generate an smapi.def file (which for those unfamiliar with the Microsoft
Way, can be just a list of the required functions, one per line below
the following line:

EXPORTS

Then, passing the manually generated def file to Dlltool, I had a
working smapi.a.  After copying the smapi.dll to the current directory
(so I wouldn't have to deal with config files and/or paths), everything
worked.

Using Dlltool to generate the def file didn't work, probably due to the
format of this particular dll.

I encourage everyone that comes from a Unix background (like me) not to
fight the hopeless battles against Microsoft bugs and complexity, and
instead use gnu-win32 in combination with wxWin/wxGTK to get similar
functionality.

Thanks again, Marcus.

Augustine Cano
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]