转自:
http://hi.baidu.com/%BC%C7%C2%BC%B5%C4%BF%D5%BC%E4/blog/item/d9af9b8170d6269bf703a6fb.html
把一个VC6的工程转换为VS2008的工程后,编译找不到而且不能升级vc90.pdb文件的问题解决方法
问题描述:
1>e:\vcomh264net\vcomh\vcomh264net2.0 1.0.25 av\video\videoproc.cpp :
error C2471: cannot update program database 'e:\vcomh264net\vcomh264net2.0 1.0.25 2008\vcomh264net2.0 1.0.25 av\debug\vc90.pdb'
1>e:\vcomh264net\vcomh\vcomh264net2.0 1.0.25 av\video\videoproc.cpp :
fatal error C1083: Cannot open program database file: 'e:\vcomh264net\vcomh264net2.0 1.0.25 2008\vcomh264net2.0 1.0.25 av\debug\vc90.pdb': No such file or directory
为什么我把一个VC6的工程转换为VS2008的工程后,编译总是出现找不到而且不能升级vc90.pdb文件的问题。重新编译了也不行。
从VC6直接跳到VS2008
这个vs2008一个著名的bug。详情可以参见https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=309462
官方现有解决方案如下:
I have found an alternate way for the time beging to avoid C2471 error but it works only in the case of successful release build.
for this click Build menu than Configuration manager than create a new setting from release settings. Change following things in your project settings as :
C\C++ | General | Debug Information format | C7 Compatible (/Z7)
C\C++ | Code Generation | Enable String Pooling | Yes (/GF)
Linker |Debuging |General Debug Info | Yes (/DEBUG)
after these settings. Rebuild your application. I'm sure you will be able to resolve the pdb updation issue if it is really not hampering your other settings. Hope it will be helpful to you.