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 | DEBUG | 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.
可以解释为要做以下项目属性设置:
C/C++ | 常规 | 调试信息格式 | C7兼容 (/Z7)
C/C++ | 代码生成 | 启用字符串池 | 是 (/GF)
链接器 | 调试 | 生成调试信息 | 是 (/DEBUG)