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:\LIB\OS2.LIB C:\LIB\API.LIB C:\LIB\LAN.LIB

C:\LIB\DOSLAN.LIB

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