fatal error LNK1201:写入程序数据库“***.pdb”时出错;请检查是否是磁盘空间不足、路径无效或权限不够
最近用opencv2.4.10、vs2010做开发经常遇到这个问题,经百度发现大部分是vs自己的问题
解决办法1:打开工程属性,c/c++,常规,调试信息格式,改成C7兼容(/Z7)。(我用的这种)
解决办法2:把使用pdb文件的处于调试或运行状态下的vs.net停掉即可。
上面的错误在 MSDN的解释如下:
写入程序数据库“filename”时出错;请检查是否是磁盘空间不足、路径无效或权限不够
LINK 未能写入输出文件的程序数据库 (PDB)。
可能的原因 :
文件已损坏。删除 PDB 文件然后重新链接。
没有足够的磁盘空间写入文件。
可能由于网络问题,驱动器不可用。
调试器在您试图链接的程序上是活动的。
工作中,最容易出现的原因是最后一条:“调试器在您试图链接的程序上是活动的。”
什么意思呢,就是复杂项目开发中,有很多个项目,你调用着我的,我使用着他的;
你的和他的又在同一个解决方案下,这在由多个dll,多个exe组成的系统中最容易出现。
即:当你编译某一项目时,该项目的pdb文件正被另一处于调试状态
下的编译器所使用,编译无法向项目pdb文件写入数据,无奈之下,编译器只好
向你报LNK1201错误请求你协助解决。
转自:http://blog.csdn.net/zhghost/article/details/5436978