KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q65404: Solve BASIC 6.0 "Unresolved External" with OS/2’s DOSCALLS.LIB

Article: Q65404
Product(s): See article
Version(s): 6.00 6.00b
Operating System(s): OS/2
Keyword(s): ENDUSER | SR# S900821-150 | mspl13_basic
Last Modified: 4-SEP-1990

When you are creating Microsoft BASIC Compiler versions 6.00 and 6.00b
protected mode programs that make calls to OS/2 API functions, the
DOSCALLS.LIB library must be linked in. This library allows the linker
to resolve external references to the API functions.

However, the DOSCALLS.LIB that comes with BASIC will not allow the
linker to resolve references to all of the API functions. This version
of DOSCALLS.LIB was designed to support only a subset of them. The
linker can use the DOSCALLS.LIB that comes with OS/2 to resolve those
external references to API functions that are not supported by the
BASIC version of DOSCALLS.LIB.

This information applies to Microsoft BASIC Compiler versions 6.00 and
6.00b for MS OS/2.

If an API function is not supported by the BASIC version of
DOSCALLS.LIB, the linker will generate an "Unresolved external" error
if it finds a call to it in an object file. To remedy the situation,
the program must be linked with the OS/2 version of DOSCALLS.LIB. This
version of DOSCALLS.LIB is usually placed in the main OS/2 directory
(C:\OS2, for example) by the OS/2 installation program.

Note that Microsoft BASIC Professional Development System versions
7.00 and 7.10 for MS OS/2 use a library named OS2.LIB (instead of
DOSCALLS.LIB) to resolve external references to API functions. OS2.LIB
provides support for all API functions, so linking with the OS/2
version of DOSCALLS.LIB should never be necessary in BASIC PDS 7.00
and 7.10.

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.