我正在使用VS2008創建我的應用程序的調試版本。 編譯後,當我嘗試運行該應用程序時,出現着名的'MSVCR90.dll is missing'錯誤。C++應用程序(調試版本)包含VS運行時庫msvcr90.dll和msvcr90d.dll
起初,我試圖將MSVCR90.DLL從winsxs文件夾複製到應用程序文件夾,但我得到另一個著名的錯誤「應用程序已作出了嘗試加載錯誤的C運行時庫」
最後我試着檢查應用程序的依賴關係,它揭示了一些奇怪的東西。有兩個MSVCR90庫作爲應用程序的依賴關係 - msvcr90d.dll和msvcr90.dll。我不是這個庫的非調試版本如何進入我的應用程序。
我可能做錯了什麼。提前致謝。
這裏有一個畫面:
dependency walker - no functions visible
你可以使用的Dependency Walker,看看有什麼功能您的應用程序從進口'msvcr90.dll' – Ari0nhh
猜測:您正在使用以發佈模式構建的外部庫。 –
_I試圖將MSVCR90.dll從winsxs文件夾複製到應用程序文件夾中 - 不要這樣做 - 通常只使用安裝程序安裝運行時是一個更好的主意。 _有兩個MSVCR90庫作爲應用程序的依賴關係 - msvcr90d.dll和msvcr90.dll_ - 某人(您或者靜態庫)已經構建了一些針對運行時版本的東西。您需要瀏覽每個圖書館和項目才能找到它。沒有足夠的細節來診斷運行時不匹配的來源。 – Niall