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

自己最近运行的一个程序出现让人郁闷的问题:没有找到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)。


希望自己解决问题的方法对大家能够起到一定的帮助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章