Microsoft KB Archive/102920

= FIX: Linker May Cause L5000 with CodeView Information =

Article ID: 102920

Article Last Modified on 9/30/2003

-

APPLIES TO


 * Microsoft LINK for MS-DOS 5.5
 * Microsoft LINK for MS-DOS 5.6

-



This article was previously published under Q102920



SYMPTOMS
Linking a large number of object modules and libraries with the /CO option for CodeView information may generate the following error message:

LINK : fatal error L5000:



CAUSE
This problem is typically caused when the linker, LINK.EXE, gets to the CodeView information packing stage while generating a large .EXE file.



RESOLUTION
Use one or more of the following to work around this problem:
 * Link without the /CO option if the application doesn't need to be debugged.
 * Link with the /CO:NOCVPACK option to create an .EXE file with unpacked CodeView information, and then run CVPACK.EXE separately on the .EXE. The CVPACK.EXE utility in the \MSVC\BIN directory by default. For more information about CVPACK, select the "Tech Notes" icon in your Visual C++ Program Manager group. You'll see a help button that reads "Using CVPACK."
 * Reduce the amount of CodeView information for the application by compiling only the essential modules with the /Zi option; compile the rest with the /Zd option.
 * Avoid linking OLDNAMES.LIB last.
 * If using the /LI linker option, remove it.
 * Assign the TMP environment variable a valid hard drive and directory with a large amount of disk space (preferably not a RAM drive).



STATUS
Microsoft has confirmed this to be a problem in the versions of the linker given at the beginning of this article. Some causes of this problem have been fixed in Visual C++ 1.52, but in some instances, you may still need to use /CO:NOCVPACK and then use cvpack on the exe.

Additional query words: 5.50 5.60 5.60.220 5.60.339 /CO:N visualc no32bit

Keywords: kbfix kb16bitonly KB102920

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.