1. 程式人生 > >沒有找到MSVCR80D.dll,因此這個應用程式未能啟動。重新安裝應用程式可能會修復此問題

沒有找到MSVCR80D.dll,因此這個應用程式未能啟動。重新安裝應用程式可能會修復此問題

在VS 2005中建立Win32工程時(以VS 2005中文版為例),你可能會遇到這樣的執行錯誤:“沒有找到MSVCP80D.dll,因此這個應用程式未能啟動。重新安裝應用程式可能會修復此問題。”(還可能是其它幾個類似的檔案:MSVCR80D.dll、MSVCM80D.dll)。對於VS2005新手,可能遇到的第一個問題便是此問題。

     出現這個問題是因為,VS 2005在生成可執行檔案時使用了一種新的技術,該技術生成的可執行檔案會伴隨生成一個清單檔案(manifest file)(.manifest字尾檔案)(其本質上是XML文件,你可以用文字編輯器開啟看看),並在連結完成後將該清單檔案嵌入到exe檔案中(預設情況下)。這是個新功能,微軟弄了個新工具(mt.exe),而在FAT32檔案系統中,在處理清單檔案階段,當增量連結時不能完成清單檔案的更新(預設情況下),於是造成清單檔案嵌入失敗,從而使該exe檔案執行時沒有相應的清單檔案而執行失敗並提示如上錯誤。

    解決方案很多,列舉如下:

    1.     微軟官方:在專案的“屬性|配置屬性|清單工具|常規”中的“使用FAT32解決辦法”選擇“是”(預設為“否”),重新生成專案即可解決問題。該方法是唯一真正針對問題所在而提出的解決方法,使清單工具可以正確更新。(此方法是官方解決方法,也比較方便,推薦,注意:一定要先配置這個選項,然後再編譯工程,要不然還是不好用:)

    2.     找到你的工程的資料夾,如(myproject),找到其下的myproject/myproject/Debug/ myproject.rec,把它刪掉(刪掉整個Debug目錄也可以),重新編譯!