FIX: Linker May Cause L5000 with CodeView Information (102920)
The information in this article 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.
Modification Type: | Major | Last Reviewed: | 9/30/2003 |
---|
Keywords: | kb16bitonly kbfix KB102920 |
---|
|