Question

J'ai fait un programme dans Visual Studio 2010 sous Windows 7 64 bits. Lorsque je tente de l'exécuter sur Windows XP 32 bits Je suis message msvcr100.dll manque. Lorsque je tente de copier ce fichier de Win7 à winxp je suis arrivé message msvcr100.dll est faux. Comment mettre à construire VS afin msvcr100.dll ne serait pas nécessaire?

Était-ce utile?

La solution

D'abord, vous devez vous assurer que vous construisez un 32 bits exécutable -. 64 les bits ne fonctionneront pas sur Windows 32 bits

Ensuite, vous pouvez ...

  • 32 redistribuables bits avec votre application.
  • Supprimez la dépendance d'exécution tout à fait et lier statiquement aux C ++ runtimes. Pour ce faire, ensemble Project -> Properties -> Configuration Properties -> C/C++ -> Code Generation -> Runtime Library à Multi-threaded (/MT).

Autres conseils

Lier les bibliothèques d'exécution devrait statiquement aider. Allez dans Options du projet -> C / C ++ -> Génération de code -> Runtime Library et modifiez la valeur à multithread ou multithread de débogage et recompilation. De cette façon, votre application ne doit pas dépendre des DLL d'exécution.
De plus, ne pas oublier de construire un exécutable 32 bits.

Les réponses ci-dessus m'a aidé le long, mais je continuais à obtenir l'erreur:

  

erreur fatale C1189: #error: S'il vous plaît utilisez le commutateur / MD pour _AFXDLL construit

Alors pour aider les autres qui peuvent avoir, comme moi, chemin passé trop de temps trébuchant à la recherche d'une solution claire, je voudrais ajouter le bit d'information qui a résolu ce problème pour moi. Comme il se trouve, mon projet avait le mal « Utilisation du MFC » paramètre pour utiliser la réponse ci-dessus.

Pour le mettre en termes clairs:

Ouvrez les propriétés du projet (alt-F7 ou menu Projet -> [Mon projet] Propriétés) et aller à Project -> Properties -> Configuration Properties

Si General -> Use of MFC est réglé sur Use MFC in a Static Library

vous devez définir

C/C++ -> Code Generation -> Runtime Library

soit Multi-threaded Debug (/MTd) ou Multi-threaded (/MT)

et si

General -> Use of MFC est réglé sur Use MFC in a Shared DLL

vous devez définir

C/C++ -> Code Generation -> Runtime Library

soit Multi-threaded DLL (/MD) ou Multi-threaded Debug DLL

J'ai eu cette réponse de la site Microsoft réponses de la communauté et tout le crédit doit aller à David Wilkinson .

entrer la description de l'image

Étape 1 :. Aller à ce site dll-files.com. entrer la description de l'image

dll-files.com est un grand dépôt de fichiers DLL de Windows et a presque tous les fichiers DLL qui existe sur Windows.

Étape 2. tapez Maintenant, il y a votre erreur de DLL dans la fenêtre de recherche du site.

Étape 3. DLL-Files.com immédiatement la liste sur le fichier zip contenant ce fichier DLL particulier. Téléchargez ce fichier zip sur votre ordinateur et l'extraire. Le dossier extrait contiendra le fichier d'erreur de DLL.

entrer la description de l'image

Étape 4. Copiez le fichier DLL de téléchargement (uniquement ce fichier) et collez ce fichier dans votre dossier système par défaut en fonction de vos systèmes d'exploitation ci-dessous. C: WindowsSystem (Windows 95/98 / Me) C: WINNT \ System32 (Windows NT / 2000) C: \ Windows \ System32 (Windows XP, Vista, Windows 7 / Windows 8.1 / Windows 10)

Windows vous demandera si vous voulez remplacer le fichier DLL existant avec le nouveau. Dites oui et laissez Windows copier le fichier. Redémarrez votre ordinateur et le tour est joué, vous pouvez maintenant lancer le jeu / app qui n'a pas d'ouvrir et de donner l'erreur de DLL, facilement.

Il y a beaucoup d'autres sites Web qui vous donnera les fichiers DLL que vous voulez

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top