Mail Archives: cygwin/1998/09/09/13:23:23
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 AT cygnus DOT com" with one line of text: "help".
- Raw text -