windows 下载或生成msvcp71.dll?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/15821343/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-09 10:24:35  来源:igfitidea点击:

Download or generate msvcp71.dll?

windowsgccwindows-7mingw

提问by AndyL

I wrote a large and complex C application on Windows XP. Now I am recompiling on a 64bit Windows 7 machine. When I run certain executables I get this error:

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

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

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

Apparently this is a .dll that used to come with windows but now does not (see especially this MSDN forumand this previous stack overflowquestion.)

显然,这是一个 .dll 曾经与 Windows 一起提供,但现在没有(尤其是参见这个MSDN 论坛和这个以前的堆栈溢出问题。)

Supposedly I should generate this DLL from Microsoft Visual C++ and "extract the DLLs from the merge modules." However, I am using gcc, mingw and make and I would prefer to avoid going to Visual Studio.

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

There are lots of copies of this dll available to download from unverified sources on the internet, but none directly downloadable from Microsoft. What should I do? Do I need to install Microsoft Visual C++? Is there any way to do this with gcc and mingw?

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



Update:@Sheng Jiang 蒋晟's hint was crucial. What I hadn't realized was that my dependency on MSVCP71.dll only arises out of linking to a third party DLL. I was able to identify the third party DLL and find a copy of MSVCP71.dll running on another system with that DLL in place. Now I can include the MSVCP711.dll along with the third party DLL and everything runs smoothly.

更新:@盛江蒋晟的提示很关键。我没有意识到我对 MSVCP71.dll 的依赖只是因为链接到第三方 DLL。我能够识别第三方 DLL 并找到在另一个系统上运行的 MSVCP71.dll 副本,该 DLL 就位。现在我可以将 MSVCP711.dll 与第三方 DLL 一起包含在内,并且一切运行顺利。

采纳答案by u109919

There is no downloadable redistributable released for this file. Only merge modules are provided on the CDs. Programmers are expected to embed those merge modules into their setup programs, or extract the files into their program's install folder. This file is not intended for System32 as that is a violation of Windows Logo requirement.

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

Since you are not using the Visual C++ tool chain, the MS-STL dependency comes with a third-party component whose author did not provide a proper setup program. Although you can get the dll from other products, however, you need a product that explicitly grant you the redistribute rights to be able to redistribute the file to your customers. Such redistribute rights come with Visual C++ 2003 and probably InstallShield X and other install package authoring software.

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

For evaluate proposes you can obtain the file for the component from other products that have a dependency on the file, such as SQL Server 2005, the .Net 1.1 runtime or its SDK, Crystal Report 10 etc. Beware of version mismatch. If the component requires SP1 or later edition of MSVCP71.dll, it may not work with the RTM edition.

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

回答by ollo

I dont have a link from Microsoft but you can download it from here(link fixed and now points to correct file).

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

Now move it to C:/Windows/SysWOW64(64 Bit)or C:/Windows/System32(32 Bit)

现在将其移至C:/Windows/SysWOW64(64 Bit)C:/Windows/System32(32 Bit)

Here's another download available: http://www.addictivetips.com/windows-tips/fix-msvcp71-dll-and-msvcr71-dll-missing-error-in-windows-7/

这是另一个可用的下载:http: //www.addivetips.com/windows-tips/fix-msvcp71-dll-and-msvcr71-dll-missing-error-in-windows-7/

Not sure if this will work, but maybe a reinstallation or update of MS VC++ Runtimesolves that (Microsoft Download Center).

不确定这是否可行,但也许重新安装或更新 MS VC++ Runtime可以解决这个问题(Microsoft 下载中心)。

回答by user584583

MS Office, Oracle client, and sql developer all have msvcp71.dll. I found a copy already on my PC. No need to download from untrusted website.

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

回答by user2815752

It works if we copy the file msvcp71.dll from C:\ORACLE\product\10.2.0\Client_4\oui\lib\win32\msvcp71.dll and past the file in the folder C:\winnt\system32.

如果我们将文件 msvcp71.dll 从 C:\ORACLE\product\10.2.0\Client_4\oui\lib\win32\msvcp71.dll 复制到文件夹 C:\winnt\system32 中,它就会起作用。