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

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐