Edit

Share via


Fatal Error C1052

program database file, 'filename', was generated by the linker with /DEBUG:fastlink; compiler cannot update such PDB files; please delete it or use /Fd to specify a different PDB filename

The compiler cannot update the same program database (PDB) files which are generated by the linker when the /DEBUG:fastlink option is specified. Normally the compiler-generated PDB files and the linker-generated PDB files have different names. However, if they are set to use the same names, this error can result.

To fix this issue, you can explicitly delete the PDB files before you compile again, or you can create different names for the compiler-generated and linker-generated PDB files.

To specify the compiler-generated PDB file name on the command line, use the /Fd compiler option. To specify the compiler-generated PDB file name in the IDE, open the Property Pages dialog for your project, and in the Configuration Properties, C/C++, Output Files page, set the Program Database File Name property. By default, this property is $(IntDir)vc$(PlatformToolsetVersion).pdb.

Alternatively, you can set the linker-generated PDB file name. To specify the linker-generated PDB file name on the command line, use the /PDB linker option. To specify the linker-generated PDB file name in the IDE, open the Property Pages dialog for your project, and in the Configuration Properties, Linker, Debugging page, set the Generate Program Database File property. By default, this property is set to $(OutDir)$(TargetName).pdb.