您的位置:首页 > 其它

VC2008下提示找不到MSVCP90D.dll的解决办法

2010-04-19 13:03 267 查看
在微软的网站上找到的,因为bug提交的太晚,SP1不修复,要等VC10再修复了。。百度谷歌都搜不到中文结果,帖出来。
Same problem MSCVP90D.dill not found,
went to "Project | Game Properties | Configuration Properties | C/C++ | Code Generation | Runtime Library"
and set Multi-threaded Debug (/MTd)
did build generated error messages...
then reset
"Project | Game Properties | Configuration Properties | C/C++ | Code Generation | Runtime Library"
to
Multi-threaded Debug DLL (/MDd)
blackwolf说:这个方法真的非常好,个人用了以后可以顺利解决问题,特意放在这里供大家参考!!!
(转自http://langhebw.blog.163.com/blog/static/113258648200993135150780/
出现这个bug的缘故是因为将Visual Studio 2008装在了FAT32分区下,当然装在这里也不是说完全有问题,但是这样装的话,就不能将项目同样放在FAT32分区下,装好了以后,随便编了个程序,编译连接,一切OK,是在debug模式下的,但是运行的时候,却出现了这个问题。

具体解决办法可以是,将debug模式改为Release,然后在Release模式下可以正常的编译连接和运行.为什么会这样呢,因为release模式下,程序是不会去链接 *.dll 的库的,所以能正常工作.不过我要说的是,这不是根本原因,根本原因在于微软的bug,下面详细道来:

这个是FAT32文件系统分区的缘故,一般有如下症状;
第一次Build 的时候从不出问题,在以后重新Build 的时候,可能随机地出现问题。可能你Build间隔的时间足够长,也不会出问题。

微软也知道这个bug,但是看来没有打算完全解决它的意向,倒是在项目属性中有个选项,让你在FAT32 下也能正常工作。具体如何解决,是这样做的:

如果是把项目放在FAT32分区,那么这样操作:
英文版:Project Properties -> Manifest Tool-> Use FAT32 Work-around -->Yes
中文版:项目-->项目属性-->配置属性-->清单工具-->使用FAT32解决方法-->是
然后clean下,然后Rebuild即可正常运行,但是这样就会很麻烦,每次建个项目,都要设置它的项目属性。

最好的解决办法是,将你的项目放在NTFS分区下,这样才可以正常的工作.
如果可以,提醒用户,直接将Visual Studio 2008装在你的NTFS分区下把,这样就不会有限制了,你可以将你的项目创建在任何地方了,而也不会出现上面所说的错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: