C2471 or LNK1140 errors [How to Solve]

The following errors are normally related to running into the module and size limits when a program database (PDB) file is created (a PDB file contains information used by the debugger; the file has a .pdb extension):

Compiler Error:

C2471: cannot update program database

Linker Error:

LNK1140 “too many modules for program database; relink with /PDB:NONE”

Linker Error:

LNK1201: error writing to program database “c:\MSDEV\Projects\yourapp\Debug\yourapp.pdb”; check for insufficient disk space


There are several ways to reduce the size of PDB files:

Build some of the source files with the /Zd switch (line numbers only).

Build some of the source files as separate dynamic-link libraries (DLLs) instead of static libraries.

Build some of the source files without debug information.

Try the compiler switch /Fd”myproject.pdb” (including the quotation marks).


Similar Posts: