2013-04-04 90 views
11

我在Windows XP上編寫了一個龐大而複雜的C應用程序。現在我正在64位Windows 7機器上重新編譯。當我運行某些可執行文件我得到這個錯誤:(見尤其是這MSDN forumprevious stack overflow問題)下載或生成msvcp71.dll?

The program cannot start because MSVCP71.dll is missing from your computer. Try reinstalling the program to fix the problem.

顯然,這是用來設有窗戶一個.dll,但現在不

據說我應該從Microsoft Visual C++生成此DLL並「從合併模塊中提取DLL」。但是,我正在使用gcc,mingw和make,我寧願避免去Visual Studio。

有很多這個DLL的副本可供從互聯網上的未經驗證的源下載,但沒有直接從微軟下載。我該怎麼辦?我是否需要安裝Microsoft Visual C++?有沒有辦法用gcc和mingw來做到這一點?


更新: @Sheng江蔣晟的提示是至關重要的。我沒有意識到的是,我對MSVCP71.dll的依賴僅僅出現在鏈接到第三方DLL之外。我能夠識別第三方DLL並找到運行在具有該DLL的另一個系統上的MSVCP71.dll的副本。現在我可以將MSVCP711.dll和第三方DLL一起包含進去,並且一切運行都很順利。

+3

可能的重複[在哪裏下載Microsoft Visual C++ 2003可再發行](http://stackoverflow.com/questions/1596167/where-to-download-microsoft-visual-c-2003-redistributable) – 2013-04-04 21:38:52

+0

@HansPassant謝謝爲我指出另一個SO問題。 – AndyL 2013-04-05 13:06:27

回答

7

沒有爲該文件發佈的可下載的可再發行組件。 CD上只提供合併模塊。期望程序員將這些合併模塊嵌入到他們的安裝程序中,或者將這些文件提取到他們程序的安裝文件夾中。 This file is not intended for System32 as that is a violation of Windows Logo requirement

由於您未使用Visual C++工具鏈,因此MS-STL依賴項隨第三方組件提供,其作者未提供正確的安裝程序。但是,雖然您可以從其他產品獲取DLL,但您需要一個明確授予您重新分發權限的產品,以便能夠將文件重新分發給客戶。這種重新發布權利隨Visual C++ 2003以及可能的InstallShield X和其他安裝包創作軟件提供。

對於評估建議您可以從其他產品的文件,如SQL Server 2005,。NET 1.1運行時或其SDK,水晶報告10等依賴文件獲取文件。注意版本不匹配。如果組件需要SP1或更高版本的MSVCP71.dll,則可能無法與RTM版一起使用。

5

我沒有從微軟的鏈接,但你可以從here下載(鏈接已修復,現在指向正確的文件)。

現在將它移動到C:/Windows/SysWOW64(64位)C:/Windows/System32(32位)

下面是另一個可供下載:http://www.addictivetips.com/windows-tips/fix-msvcp71-dll-and-msvcr71-dll-missing-error-in-windows-7/

不知道這是否會工作,但也許是重新安裝或更新MS VC++ 運行時間解決了(Microsoft Download Center)。

+0

你「這是另一個可供下載」是一樣的[微軟的TechNet論壇建議(http://social.technet.microsoft.com/Forums/en-US/9233c9f6-e613-49a2-ae15-3d9dabd9a884/msvcr71dll-缺失) – Henry 2014-07-13 22:56:07

+1

您的64位和32位目錄向後。是的,這太瘋狂了......但是SysWOW64是32位的目錄。 – w25r 2014-09-23 15:42:48

+0

問題是關於msvcp,你提供了msvcr。 http://www.dll-files.com/dllindex/dll-files.shtml?msvcp71 – Nuzzolilo 2015-06-09 22:25:17

-1

如果我們將文件msvcp71.dll從C:\ ORACLE \ product \ 10.2.0 \ Client_4 \ oui \ lib \ win32 \ msvcp71.dll中複製過來並且超過文件夾C:\ winnt \ system32中的文件。

+0

請給一些額外的背景下,以你的答案讓其他讀者可以更好地瞭解您的解決方案是什麼。解釋您的答案可能會導致來自其他SO用戶的讚揚:) – StormeHawke 2013-09-25 14:56:10

1

MS Office,Oracle客戶端和SQL開發人員都有msvcp71.dll。我在我的電腦上找到了一份副本。無需從不受信任的網站下載。

+0

同意;更安全地在本地獲取。 – gdibble 2016-02-08 20:28:25