问题 下载或生成msvcp71.dll?


我在Windows XP上编写了一个庞大而复杂的C应用程序。现在我在64位Windows 7机器上重新编译。当我运行某些可执行文件时,我收到此错误:

程序无法启动,因为您的计算机缺少MSVCP71.dll。尝试重新安装程序以解决问题。

显然这是一个曾经带有Windows的.dll但现在却没有(尤其是这个 MSDN论坛 和这个 之前的堆栈溢出 题。)

据说我应该从Microsoft Visual C ++生成这个DLL并“从合并模块中提取DLL”。但是,我正在使用gcc,mingw和make,我宁愿避免去Visual Studio。

这个dll有很多副本可以从互联网上未经验证的来源下载,但没有一个可以直接从微软下载。我该怎么办?我需要安装Microsoft Visual C ++吗?用gcc和mingw有没有办法做到这一点?


更新: @Sheng Jiang蒋晟的暗示至关重要。我没有意识到我对MSVCP71.dll的依赖只是出于链接到第三方DLL。我能够识别第三方DLL并找到在该DLL上运行的另一个系统上运行的MSVCP71.dll的副本。现在我可以包含MSVCP711.dll和第三方DLL,一切运行顺利。


5350
2018-04-04 20:44


起源

可能重复 在哪里下载Microsoft Visual c + + 3.0可再发行组件 - Hans Passant
@HansPassant感谢您指点我另一个问题。 - AndyL


答案:


没有为此文件发布可下载的可再发行组件。 CD上仅提供合并模块。程序员应该将这些合并模块嵌入到他们的安装程序中,或者将文件解压缩到他们程序的安装文件夹中。 此文件不适用于System32,因为它违反了Windows徽标要求

由于您没有使用Visual C ++工具链,因此MS-STL依赖项附带了第三方组件,其作者未提供正确的安装程序。但是,虽然您可以从其他产品获取dll,但您需要一种明确授予您再分发权限的产品,以便能够将文件重新分发给您的客户。这种重新分发权利来自Visual C ++ 2003以及可能的InstallShield X和其他安装包创作软件。

对于评估建议,您可以从其他依赖于该文件的产品中获取该组件的文件,例如SQL Server 2005,.Net 1.1运行时或其SDK,Crystal Report 10等。请注意版本不匹配。如果该组件需要SP1或更高版本的MSVCP71.dll,则它可能无法与RTM版本一起使用。


7
2018-04-04 23:15





我没有Microsoft的链接,但您可以从中下载 这里 (链接已修复,现在指向正确的文件)。

现在移动它 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下载中心 )。


5
2018-04-04 21:25



您的“这里是另一个下载可用”与此相同 微软的Technet论坛上提出了建议 - Henry
您的64位和32位目录是向后的。是的,它很疯狂......但是SysWOW64是32位目录。 - w25r
问题是关于msvcp,你提供了msvcr。 dll-files.com/dllindex/dll-files.shtml?msvcp71 - Nuzzolilo


MS Office,Oracle客户端和SQL开发人员都有msvcp71.dll。我在PC上找到了一份副本。无需从不受信任的网站下载。


1
2018-01-22 14:33



同意;在当地更安全。 - gdibble


如果我们从C:\ ORACLE \ product \ 10.2.0 \ Client_4 \ oui \ lib \ win32 \ msvcp71.dll复制文件msvcp71.dll并通过文件夹C:\ winnt \ system32中的文件,它就可以工作。


-1
2017-09-25 14:35



请为您的答案提供一些额外的背景信息,以便其他读者可以更好地了解您的解决方案。解释你的答案可能导致其他SO用户的赞成:) - StormeHawke