您的位置:首页 > 编程语言 > C语言/C++

VS错误-没有找到mfc90d.dll,因为这个应用程序未能启动

2014-04-30 15:25 309 查看
自己最近运行的一个程序出现让人郁闷的问题:没有找到MFC90d.dll,因为这种应用程序未能启动。该程序运行环境 :WIN XP, VS2008,并且前些日子能正常运行,未出现此错误。

查询相关资料:

http://bbs.csdn.net/topics/280039633, 其中比较重要的信息:
今天又遇到了同样的问题,在使用多字节配置,DEBUG版时候,经常找不到MFC90d.dll。找了好多资料,发现是微软的一个BUG,在文件系统为FAT32格式的电脑上经常遇到,
但是在NTFS格式的上面却从来不会遇到。把工程移到NTFS格式文件系统中即可。

另外:
有时候会遇到找不到MSVCR90.DLL的情况,这个跟VC2009的运行时库有关,忽略掉msvcrt.lib即可,具体设置:工程-属性-配置属性-链接器-输入-忽略特定库输入msvcrt.lib。
这两个问题害我整了半天,在此特别贴出来,以供大家参考。


但是,让我捉摸不透的问题是:WINXP文件系统并不是FAT32,而是NTFS格式的。此外,忽略特定库msvcrt.lib并未能解决我的问题。

第二个查询网址:VS2008找不到MFC90d.dll错误解决方法

其中提到两个点:
增量链接
清单文件

于是觉得这个方向可能是正常的。两个试验后,发现第二点:取消清单文件顺利解决问题。

PS:项目的“属性|配置属性|清单工具|输入和输出”中的“嵌入清单”选择“否”)


总结

VS编译器设置繁杂,如大意则可能导致各种问题。同时,运行库也是一个自己需要了解的,即/MD, /MT, /LD (Use Run-Time Library)。

希望自己解决问题的方法对大家能够起到一定的帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MFC C++
相关文章推荐