1. 程式人生 > >VS錯誤-沒有找到mfc90d.dll,因為這個應用程式未能啟動

VS錯誤-沒有找到mfc90d.dll,因為這個應用程式未能啟動

自己最近執行的一個程式出現讓人鬱悶的問題:沒有找到MFC90d.dll,因為這種應用程式未能啟動。該程式執行環境 :WIN XP, VS2008,並且前些日子能正常執行,未出現此錯誤。

查詢相關資料:


今天又遇到了同樣的問題,在使用多位元組配置,DEBUG版時候,經常找不到MFC90d.dll。找了好多資料,發現是微軟的一個BUG,在檔案系統為FAT32格式的電腦上經常遇到,
但是在NTFS格式的上面卻從來不會遇到。把工程移到NTFS格式檔案系統中即可。

另外:
     有時候會遇到找不到MSVCR90.DLL的情況,這個跟VC2009的執行時庫有關,忽略掉msvcrt.lib即可,具體設定:工程-屬性-配置屬性-連結器-輸入-忽略特定庫輸入msvcrt.lib。
 這兩個問題害我整了半天,在此特別貼出來,以供大家參考。

但是,讓我捉摸不透的問題是:WINXP檔案系統並不是FAT32,而是NTFS格式的。此外,忽略特定庫msvcrt.lib並未能解決我的問題。

  • 增量連結
  • 清單檔案

於是覺得這個方向可能是正常的。兩個試驗後,發現第二點:取消清單檔案順利解決問題。
PS:專案的“屬性|配置屬性|清單工具|輸入和輸出”中的“嵌入清單”選擇“否”)

總結

VS編譯器設定繁雜,如大意則可能導致各種問題。同時,執行庫也是一個自己需要了解的,即/MD, /MT, /LD (Use Run-Time Library)。

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