15

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:

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

Apparently this is a .dll that used to come with windows but now does not (see especially this MSDN forum and this previous stack overflow question.)

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.

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?


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.

Community
  • 1
  • 1
AndyL
  • 14,302
  • 14
  • 43
  • 70
  • 3
    possible duplicate of [Where to download Microsoft Visual c++ 2003 redistributable](http://stackoverflow.com/questions/1596167/where-to-download-microsoft-visual-c-2003-redistributable) – Hans Passant Apr 04 '13 at 21:38
  • @HansPassant Thank you for pointing me to the other SO question. – AndyL Apr 05 '13 at 13:06

4 Answers4

11

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.

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.

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.

Sheng Jiang 蒋晟
  • 15,125
  • 2
  • 28
  • 46
6

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

Now move it to C:/Windows/SysWOW64 (64 Bit) or 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/

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

marknuzz
  • 2,847
  • 1
  • 26
  • 29
ollo
  • 24,797
  • 14
  • 106
  • 155
  • Your "Here's another download available" is same as that [suggested on Microsoft's Technet forum](http://social.technet.microsoft.com/Forums/en-US/9233c9f6-e613-49a2-ae15-3d9dabd9a884/msvcr71dll-missing) – Henry Jul 13 '14 at 22:56
  • 1
    Your 64-bit and 32-bit directories are backwards. Yes it's crazy... but SysWOW64 is the 32-bit directory. – w25r Sep 23 '14 at 15:42
  • The question was regarding msvcp, you provided msvcr. http://www.dll-files.com/dllindex/dll-files.shtml?msvcp71 – marknuzz Jun 09 '15 at 22:25
2

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.

user584583
  • 1,242
  • 4
  • 18
  • 35
0

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.

  • Please give some additional context to your answer so that other readers can better understand what your solution is. Explaining your answer can result in upvotes from other SO users :) – StormeHawke Sep 25 '13 at 14:56