web-dev-qa-db-fra.com

Téléchargez ou générez msvcp71.dll?

J'ai écrit une application C volumineuse et complexe sous Windows XP. Maintenant, je suis en train de recompiler sur une machine Windows 7 64 bits. Lorsque je lance certains exécutables, j'obtiens cette erreur: 

Le programme ne peut pas démarrer, car MSVCP71.dll est absent de votre ordinateur. Essayez de réinstaller le programme pour résoudre le problème.

Apparemment, c’est un fichier .dll qui venait avec Windows mais ne le fait plus (voir plus particulièrement ce forum MSDN et ce l’ancien dépassement de pile question.)

Soi-disant, je devrais générer cette DLL à partir de Microsoft Visual C++ et "extraire les DLL des modules de fusion". Cependant, j'utilise gcc, mingw et make et je préférerais éviter d'aller à Visual Studio. 

Il existe de nombreuses copies de cette DLL disponible au téléchargement à partir de sources non vérifiées sur Internet, mais aucune directement téléchargeable à partir de Microsoft. Que devrais-je faire? Dois-je installer Microsoft Visual C++? Est-il possible de faire cela avec gcc et mingw?


Mise à jour: La suggestion de @Sheng Jiang 蒋 était cruciale. Ce que je n'avais pas réalisé, c'est que ma dépendance à MSVCP71.dll ne provient que de la liaison à une DLL tierce. J'ai pu identifier le tiers DLL et trouver une copie de MSVCP71.dll s'exécutant sur un autre système avec ce DLL en place. Maintenant, je peux inclure le fichier MSVCP711.dll avec le tiers DLL et tout se passe bien. 

11
AndyL

Aucun fichier redistribuable téléchargeable n'est disponible pour ce fichier. Seuls les modules de fusion sont fournis sur les CD. Les programmeurs sont censés intégrer ces modules de fusion dans leurs programmes d'installation ou extraire les fichiers dans le dossier d'installation de leur programme. Ce fichier n'est pas destiné à System32 car il s'agit d'une violation de l'exigence du logo Windows .

Étant donné que vous n'utilisez pas la chaîne d'outils Visual C++, la dépendance MS-STL est fournie avec un composant tiers dont l'auteur n'a pas fourni le programme d'installation approprié. Bien que vous puissiez obtenir la dll d'autres produits, vous avez cependant besoin d'un produit qui vous accorde explicitement les droits de redistribution pour pouvoir redistribuer le fichier à vos clients. Ces droits de redistribution sont fournis avec Visual C++ 2003 et probablement avec InstallShield X et d'autres logiciels de création de packages d'installation.

Pour évaluer propose, vous pouvez obtenir le fichier du composant auprès d’autres produits dépendant de celui-ci, tels que SQL Server 2005, le runtime .Net 1.1 ou son SDK, Crystal Report 10, etc. Faites attention aux différences de version. Si le composant nécessite l'édition SP1 ou ultérieure de MSVCP71.dll, il risque de ne pas fonctionner avec l'édition RTM.

7

Je n'ai pas de lien de Microsoft mais vous pouvez le télécharger depuis ici (lien corrigé et pointe maintenant sur le fichier correct).

Déplacez-le maintenant vers C:/Windows/SysWOW64(64 bits) ou C:/Windows/System32(32 bits)

Voici un autre téléchargement disponible: http://www.addictivetips.com/windows-tips/fix-msvcp71-dll-and-msvcr71-dll-missing-error-in-windows-7/

Pas sûr que cela fonctionne, mais peut-être qu'une réinstallation ou une mise à jour de MS VC++ Runtime résoudra ce problème ( Centre de téléchargement Microsoft ).

5
ollo

MS Office, le client Oracle et le développeur SQL ont tous msvcp71.dll. J'ai trouvé une copie déjà sur mon PC. Pas besoin de télécharger depuis un site Web non fiable.

1
user584583

Cela fonctionne si nous copions le fichier msvcp71.dll à partir de C:\Oracle\product\10.2.0\Client_4\oui\lib\win32\msvcp71.dll et que le fichier soit passé dans le dossier C:\winnt\system32.

0
user2815752