Microsoft KB Archive/60017

Scrambled “Import by Ordinal Not Defined” Errors from BIND ID Number: Q60017

2.00 OS/2

Summary:

Occasionally, BIND.EXE version 1.20 gives errors such as the following:

Import by ordinal not defined: VIOCALLDOS_netapKBDSETSTATUS netapiMAILSLOTnetoem.1

The scrambled output is the result of mixing libraries that were designed for versions of OS/2 other than 1.20. Generally, the incorrect library is DOSCALLS.LIB, which is being pulled in by the C 5.10 compiler.

The easiest way to workaround this problem is to avoid DOSCALLS completely. Use OS/2.LIB and API.LIB for OS/2 programs, and add LAN.LIB and DOSLAN.LIB for network applications. Also, link the application with the /NOD switch, so that any references to DOSCALLS.LIB embedded in the .OBJ file are ignored by the linker. Then, link the application with OS2.LIB. For example

LINK /NOD FILE.OBJ,,,LLIBCEP.LIB+OS2.LIB+LAN.LIB;

then:

BIND FILE.EXE C:2.LIB C:.LIB C:.LIB C:.LIB

We recommend that you give complete paths to all of the libraries.