Creating a Quick Library (.QLB) from a LINK Library (.LIB) (27993)



The information in this article applies to:

  • Microsoft Visual Basic for MS-DOS
  • Microsoft QuickBASIC 4.0
  • Microsoft QuickBASIC 4.0b
  • Microsoft QuickBASIC 4.5
  • Microsoft BASIC Compiler for MS-DOS and OS/2 6.0
  • Microsoft BASIC Compiler for MS-DOS and OS/2 6.0b

This article was previously published under Q27993

SUMMARY

The LINK.EXE utility can create a Quick library (.QLB) file from a LINK library (.LIB) file. This can be done by using the LINK /Q option and the following syntax:

LINK xxxx.LIB /Q,,,VBDOSQLB.LIB;

where xxxx.LIB is your own .LIB library for which you want to make a Quick library. You must also link the appropriate QLBxx.LIB support library as follows: for Microsoft Visual Basic for MS-DOS version 1.0, use VBDOSQLB.LIB; for Microsoft QuickBasic for MS-DOS versions 4.0 and Microsoft Basic Compiler for MS-DOS versions 6.0, use BQLB40.LIB; for Microsoft QuickBasic for MS-DOS version 4.0b and Microsoft Basic Compiler for MS-DOS version 6.0b, use BQLB41.LIB; and for Microsoft QuickBasic for MS-DOS version 4.5, use BQLB45.LIB.

Also, at the bottom of this article is a method that can be used to build a Microsoft QuickBasic for MS-DOS version 2.0, 2.01, or 3.0 run-time user library from .LIB libraries. Run-time user libraries are created and used differently than the Quick libraries found in later versions.

MORE INFORMATION

Note that Quick libraries (.QLB files) can only be used in the VBDOS.EXE environment (and are loaded with the /L option).

The Visual Basic for MS-DOS manual describes methods for creating Quick libraries using either .OBJ files or the Make Lib option on the Run menu from within the VBDOS.EXE editor. The above LINK command lets you create a .QLB file when only a .LIB file is available.

For example, when the following command is issued from the MS-DOS command line, a Quick library (MOUSE.QLB) is created from the MOUSE.LIB library file:

LINK MOUSE.LIB /Q,,,VBDOSQLB.LIB;

A similar method is used when you want to combine two or more existing libraries into one Quick library. For example, the following command will combine MY.LIB (a library created by you) with VBDOS.LIB (a library provided with the compiler) to form MYNEW.QLB:

LINK MY.LIB+VBDOS.LIB /Q, MYNEW.QLB,, VBDOSQLB.LIB;

Please note that if the following command is used to create the Quick library, then only those files in VBDOS.LIB that are called from MY.LIB will ultimately become a part of MYNEW.QLB:

LINK MY.LIB /Q, MYNEW.QLB,, VBDOSQLB.LIB+VBDOS.LIB;

Therefore, if the routines in VBDOS.LIB are being called from the main-module level of the program, you must use the previous syntax (that is, all .LIB files must be specified in the first parameter).

For more information on the creation of Quick libraries, see Chapter 19 "Creating and Using Quick Libraries" of the "Visual Basic for MS-DOS: Programmer's Guide."

QuickBasic for MS-DOS versions 2.x, 3.00

In Microsoft QuickBasic for MS-DOS versions 2.0, 2.01, and 3.0, the BUILDLIB.EXE utility can be used to convert subprogram .OBJ files into run-time user libraries, which can be called from within the QB editor or unlike in later versions, called from an EXE program that was compiled to require the run-time module. Microsoft QuickBasic versions released after 3.0 do not offer the BUILDLIB.EXE utility and do not support run-time user libraries for use with EXE programs. (However, Microsoft Basic Compiler for MS-DOS versions 6.0 and 6.0b, and Microsoft Basic Professional Development System for MS-DOS versions 7.0 and 7.1 do offer a similar capability: a BUILDRTM.EXE utility to add .OBJ modules to the Basic run-time module itself).

The BUILDLIB.EXE utility from Microsoft QuickBasic for MS-DOS versions 2.x/3.0 can be used to create user libraries from .LIB files when you invoke BUILDLIB with the /L option (BUILDLIB /L). Once invoked with the /L option, BUILDLIB then prompts you for the name of the .LIB library file to input and the name of the user library to output. Object .OBJ files cannot be input to BUILDLIB.EXE if you invoke BUILDLIB.EXE with the /L option, unless the .OBJ files are first put into .LIB files with the Microsoft LIB.EXE library manager utility.

Modification Type:MinorLast Reviewed:8/16/2005
Keywords:KB27993