Article: Q32831
Product(s): See article
Version(s): 3.60 3.61 3.64 3.65 5.01.20 5.01.21
Operating System(s): MS-DOS
Keyword(s): ENDUSER | | mspl13_basic
Last Modified: 22-JUL-1988
If you receive link error 4051, check the following:
1. Is the LIB environment variable set correctly? Check
for spaces around the equal sign or any extra characters
at the end of the line.
2. Which version of the linker is being used? Old versions of
the linker do not recognize the LIB environment variable.
Make sure the linker being used is the one that came with
the product.
3. Are the library names being asked for component libraries or
combined libraries? Libraries compiled under C Version 4.00 or
earlier have component library names embedded in the .OBJ files.
With later versions of the C compiler, combined libraries are used
and the component libraries will not be found.
This behavior also exist when upgrading from Pascal Versions 3.32
or earlier to Pascal Versions 4.00 or greater.
The work-around for this behavior is to recompile all .OBJ file
(and libraries) with the new compiler or to use the /NOD switch
when linking, and specify all the libraries (combined and otherwise)
to be used. The following is an example:
link /NOD test,,,llibce.lib;
4. Is the correct library available for the math option chosen?
FORTRAN defaults to the co-processor library (e.g. LLIBFOR7.LIB).
C and Pascal default to the emulator math library (e.g. SLIBCE.LIB
and LIBPASE.LIB)