Subject: Summary/Solution Re: Runtime error: Entry point not found
From: [email-masked] (A. F. Cano)

9 Sep 1998 13:23:23 -0700
Message-ID: <[email-masked]>
Content-Type: text
To: [email-masked]

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
"[email-masked]" with one line of text: "help".