Visual Studio 16.9.6静态库删除.pdb触发全量重编译问题咨询
Visual Studio 静态库pdb删除触发重编译问题解决方案
可用版本说明
不存在该问题的最新早期稳定版本为 Visual Studio 2019 16.8.7,整个16.8.x版本分支均未引入该增量编译逻辑bug。
故障背景
该问题为Visual Studio 2019 16.9版本分支专属bug:
- 16.9版本更新静态库项目的生成依赖校验规则时,错误将.pdb文件标记为CPP源文件的编译阶段输出依赖,而非仅作为链接阶段依赖
- 删除.pdb后生成系统会判定所有源文件的输出产物缺失,因此触发包括stdafx.cpp在内的全量重编译,不符合预期的仅重链接行为
16.9.6版本临时规避方案
如果暂时无法降级版本,可修改项目配置规避故障:
- 打开静态库项目属性页,依次进入
C/C++ > 输出文件配置项 - 将「程序数据库文件名」配置修改为
$(IntDir)$(TargetName).pdb,和obj文件输出到同一路径
修改后删除输出目录(Debug/Release)下的pdb文件,仅会触发重链接操作,不会触发全量重编译。
内容的提问来源于stack exchange,提问作者user1633272
相关产品推荐
相关产品推荐

