vc2008编译就提示找不到msvcr90d.dll

是FAT32系统分区的问题。
这个问题的特点是:
第一次Build 的时候从不出问题,在以后重新Build 的时候,可能随机地出现问题。可能你Build间隔的时间足够长,也不会出问题。
把Debug 改为Release ,实际上不能解决问题,刚改第一次可以,以后还是和Debug一样的。
微软也知道这个问题,但是看来没有打算完全解决它的意向,倒是在项目属性中有个选项,让你在FAT32 下也能正常工作。
VS2005和VS2008都存在这个问题

我认为最好的解决方法就是把你的项目放在 NTFS格式的分区中。

或者,在项目的属性中,有一个地方可以修改为FAT32兼容的项目(自己找找看在哪里,我忘了),不过你需要每个项目都进行一次,麻烦。而且修改之后,你需要将编译输出问题夹(Debug 或Release)内的所有文件先全部删除(Clean都不行,变态),在Rebuild

========是FAT32系统分区的问题。
不好意思,这句话不严谨,应该是 FAT32文件系统分区的问题。

如果项目创建在 NTFS分区上,从不出问题;如果创建在FAT32分区上,就会经常碰到这个问题。该死的微软,也没有在错误信息中提供一点启发性的原因。因为我自己现在已经停用FAT32格式,所以我以前使用从没有碰见过这个问题。后来,在实验室中发现有些学生的机器会出现,有些又不会出现,我还怀疑是实验室感染病毒。找了好多资料,并做了很多试验,才算基本弄清规律了。


不过我在这里想纠正一下,如果,如果是把项目放在FAT32分区,那么我这样改:
英文版:Project Properties -> Manifest Tool-> Use FAT32 Work-around 为Yes
中文版:项目-->项目属性-->配置属性-->清单工具-->使用FAT32解决方法为是

这个不要手动去删除编译输出问题夹(Debug 或Release)内的所有文件,直接clean是可以的,然后rebuild即可

posted on 2011-07-16 16:17  heretic  阅读(494)  评论(0编辑  收藏  举报

导航