Runtime error: Entry point not found

139a80000-HallM(DR3132)37x10 marcus@bighorn.dr.lucent.com
Fri Sep 4 03:17:00 GMT 1998


Augustine Cano writes:
> After finally solving all the compile and link problems, I now encounter
> the following error popup at runtime.
> 
>    The procedure entry point <thick vertical bar character> could not
>    be located in the dynamic link library SMAPI.dll

This is, I am sure, because the import table for your process is not
sane.  The system is looking for garbage names (something that gives the
thick vertical bar character) and they obviously cannout be found.

> This minimal program was compiled with cygwin b19 and uses, as can be
> seen from above, the smapi.lib (explicitely included in the makefile)
> and SMAPI.dll from the IBM ViaVoice speech recognition product.
> There are many link warnigs like this

And the smapi.lib was produced by MSVC++ (or something else that works
to that standard)?  That is the problem.

> /Cygnus/B19/H-i386-cygwin32/i386-cygwin32/bin/ld.exe: /ViaVoice/lib/smapi.lib\
>  (SMAPI.dll): warning: ignoring duplacate section `.idata$5'

This confirms it.  The .idata$5 (and other .idata$* segments) perform a
delicate dance to build the import table during linking.  The conventions
used by Microsoft and Gnuwin32 are different, and unfortunately, do not
interoperate.

It is possible to build a "smapi.a" file with dlltool that will work with
gnuwin32, but I don't offhand recall how.  Perhaps you can find it by
searching the archive for this topic.

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



More information about the Cygwin mailing list