根据http://msdn.microsoft.com/en-us/library/yd4f8bd1.aspx,一个项目有 2 个 .pdb 文件。
project.pdb 我用来允许稍后加载小型转储,但是 vcx0.pdb 到底是用来做什么的?如果它丢失了,那不是问题,我不需要为任何东西存储它。
我正在尝试在不同的项目之间共享一个 PCH,而这个文件是唯一引起问题的东西。如果我将使用 PCH 创建的 vcx0.pdb 复制到所有项目,这些项目将使用此文件作为基础并向其中添加自己的符号。如果不给这些项目这个 .pdb 文件,它们就会失败。
我注意到了几件事:
- 报告丢失 vcx0.pdb 的警告 LNK4099 似乎并不重要。
- 如果我使用 /Fd 将多个项目指向同一个文件,并禁用并行构建以使其正常工作,则每个项目都会使用自己的符号不断增加