Q32831: Link Error 4051
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)
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.