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)。


希望自己解決問題的方法對大家能夠起到一定的幫助。

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