Je suis confronté au problème suivant (assez courant): J'exécute mon programme en mode débogage sous VS2010 et/ou VS2012, mais il se bloque au démarrage en disant:
Le programme ne peut pas démarrer, car MSVCP100D.dll est absent de votre fichier ordinateur. Essayez de réinstaller le programme pour résoudre ce problème.
Maintenant, j'ai trouvé un certain nombre de solutions possibles, mais aucune d'entre elles ne fonctionne pour moi:
Reste-t-il d'autres options?
Les packages Visual Studio REDIST ne déploient jamais les versions DEBUG des fichiers CRT. C'est par conception.
Avec VS 2012 ou version ultérieure, le moyen le plus simple de déployer les versions DEUBG du CRT consiste à installer le package "Outils de débogage distant" sur vos machines de test.
Pour VS 2012, le dernier package des outils de débogage à distance est ici
Pour VS 2013, le dernier package d'outils de débogage à distance est ici .
Une autre option consiste simplement à utiliser le déploiement local de l’application du DLL (c.-à-d. Le copier dans votre répertoire app). Encore une fois ceci est uniquement à des fins de test. Pour le déploiement réel de votre application, vous devez utiliser les versions non déboguées du tube cathodique.
Toutefois, si cette erreur se produit sur votre ordinateur de développement, vous avez d'autres problèmes, car avec VS 2012 installé, vous devez disposer du DETAG CRT VS 2012 sur cet ordinateur.
UPDATE :: Désolé, je m'attendais à ce que les DLL CRT de débogage soient incluses dans le package d'outils de débogage distant avec les bits du débogueur distant et le périphérique de débogage Direct3D 11. Hélas, ce n'est pas. Voir Préparation d’une machine de test pour exécuter un exécutable de débogage . Vous devez utiliser les MSM dans Program Files (x86) directory in \Common Files\Merge Modules
ou copier la DLL côte à côte à partir de Program Files (x86) directory in \Microsoft Visual Studio <version>\VC\redist\Debug_NonRedist\
. L’équipe VS a probablement supposé que vous l’auriez déjà fait, mais je leur suggérerais de l’intégrer dans le package d’outils distants.
J'ai eu un problème similaire (le projet réalisé dans VS 2012 mais je courais VS2013) et l'a résolu en:
Ouvrez le projet (ou la solution) dans VS2013 (ou le plus récent).
Ouvrez le menu Projet et sélectionnez l’option «Retargeter le projet» (c’était la première option mais après l’application, cette option a disparu).
Reconstruisez votre solution.
Ceci est une DLL d'exécution de débogage. Si (et UNIQUEMENT si!) Vous souhaitez simplement exécuter la version de débogage de votre propre application sur un système sur lequel Visual Studio n'est pas installé, vous pouvez rechercher les DLL manquantes dans:
C:\Windows\System32
(pour les versions 64 bits)C:\Windows\SysWOW64
(pour les versions 32 bits)Continuez simplement à copier les DLL jusqu'à ce que votre exécutable s'exécute.
Si ce n'est PAS ce que vous essayez de faire, reportez-vous à https://stackoverflow.com/a/27386721/2279059 , qui est la réponse CORRECT, mais moins pratique.
Je suis novice dans openCV et C++ et j'ai eu le même problème avec openCV 2.4.10 avec Visual Studio Express 2013 sur une plate-forme Windows 7 32 bits. Si j'ai créé un programme simple sans utiliser OpenCV, le programme a fonctionné, mais lorsque j'ai utilisé OpenCV, l'erreur DLL manquante s'est produite.
Ce post a clarifié les choses:
Je suppose que le problème que j'ai eu n'était pas avec mon Visual Studio mais mon OpenCV. OpenCV a été compilé sur une version de visual studio nécessitant MSVCP110.dll. J'aurais pu essayer une autre version d'OpenCV ou compiler OpenCV à nouveau avec VS2013, mais le temps me manquait. Au lieu de cela, j'ai trouvé le fichier dll ailleurs et je l'ai placé dans mon dossier system32 (je ne sais pas si c'est recommandé). Cela a résolu le problème. Cependant, comme @slater l'a mentionné, je ne recommanderai pas de télécharger la dll depuis un site Web externe en raison de problèmes de sécurité.