MSVCR90D.dll ne trouve pas dans le mode de débogage avec Visual C++ 2008
J'ai un problème avec Visual C++ 2008. J'ai installé opencv et j'ai créé un nouveau programme et je le construire sans erreurs. Cependant, il se plaint de ne pas trouver MSVCR90D.dll lors du débogage. En mode release, il n'y a pas de problème.
J'ai MSVCR90D.dll dans l'un des Winsxs dossiers. Quelqu'un sait-il un rendez-vous autour de ce problème? Est-ce un bug connu?
Gérard
- J'ai le même problème. Comme de 18-07-2009 aucune des réponses données répond vraiment à la question. C'est pourquoi j'ai demandé à nouveau ici stackoverflow.com/questions/1150464
- double possible de msvcr90d.dll ne trouve pas dans le mode de débogage
Vous devez vous connecter pour publier un commentaire.
Il y a plusieurs solutions décrites dans cette post sur le forum. Voir si l'un de ceux de l'aide.
Un indice à partir de là:
Et un autre:
Confirmant la dernière:
Avoir le même problème, j'ai trouvé un post qui m'a conduit à la Dll de débogage dans le VS9.0 installer. Pour l'installation par défaut ils étaient dans:
C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\Debug_NonRedist\x86\Microsoft.VC90.DebugCRT
.Il y a trois Dll et un fichier manifeste. Vous pouvez les ajouter à votre
System32
répertoire, ajouter le répertoire à votrePATH
variable d'environnement ou de copier les fichiers dans le même répertoire que l'exécutable lors du débogage.La liaison incrémentielle accélère vos constructions (l'éditeur de liens uniquement re-liens libs qui ont changé, au lieu de ré-associer l'ensemble du projet). Sinon il n'a aucun effet sur la sortie de la construction. Pour un grand projet, je ne recommanderais pas la désactivation de la liaison incrémentielle.
Eu le même problème, bien que l'autre VC9.0 projet a bien. Donc, j'ai comparé les deux paramètres du projet.
La différence essentielle était sous la rubrique "Propriétés du Projet' -> "Propriétés de Configuration' -> 'Manifeste de l'Outil' -> 'Entrée et de Sortie' -> 'Incorporer Manifeste'. Cette option doit être définie sur OUI.
Troublehooting les problèmes de DLL est beaucoup plus facile avec Dependency Walker . Il permet à votre application de profil, attraper la fois les Dll chargées au démarrage et les Dll chargées plus tard. Il va cracher beaucoup de messages concernant le chargement de la Dll, ou l'impossibilité de les charger. Il comprend également SxS de chargement de la Dll.
Vous pouvez passer un EXE comme un argument pour Depends.EXE et il sera le profil de l'application. Ceci peut être combiné avec la plupart des IDEs. Par exemple, dans Visual Studio, vous pouvez régler la Commande de Débogage". Par défaut, c'est votre propre EXE. Changer de depends.EXE et de définir les arguments de la commande à (au moins)
/pb your.debug.exe
.Recompiler votre projet VC++ 2008 en utilisant la fonction Fichier->New->Projet De Code Existant.
Il a aidé à moi-même, il sera probablement vous aider. Ce qui concerne.
J'ai résolu le même problème comme ci-dessous:
Lorsque vous faites cela, votre projet intègre dépendait de la dll et donc il a échappé à des problèmes de dépendance.
Note: j'ai travaillé sur un projet de dll et a eu ce problème. Après avoir fait les étapes ci-dessus, il a travaillé pour ma situation.
C'est l'une des raisons qui me lier statiquement; plus grand Exe mais je n'ai jamais eu un problème de dépendance comme ça avant. Sans doute la peine d'une question en elle-même mais...
Je ne peux pas donner une solution définitive, mais voici quelques liens utiles:
Et bien sûr, il ya beaucoup plus sur MSDN si vous suivez les liens.
J'ai eu le problème:
Impossible de charger le fichier ou l'assembly 'AudioInterface, Version=1.0.3548.29920, Culture=neutral, PublicKeyToken=null' ou une de ses dépendances. Cette application n'a pas pu démarrer car la configuration de l'application est incorrecte. La réinstallation de cette application peut corriger ce problème. (Exception de HRESULT: 0x800736B1)
AudioInterface était le nom de mon projet de C++.
De commutation à la "Libération" de config, tout a fonctionné.
Je le suivi qu'il manque le fichier de manifeste aux côtés de ma DLL, j'ai encore suivi pour avoir une Assemblée Identité définie. (Propriétés > Outil Manifeste > Général > Assemblée de l'Identité)
J'ai enlevé ce paramètre, et le manifeste tombé au bon endroit, et tout a fonctionné.
J'ai essayé toutes les solutions proposées sans aucune chance. J'ai finalement trouvé que le manifeste était absente de la
"C:\WINDOWS\WinSxS\Manifests"
dossier.Trouver le dossier dans
C:\WINDOWS\WinSxS
où votre fichier dll est situé. Vérifiez pour voir si il y a un manifeste dansC:\WINDOWS\WinSxS\Manifests
qui correspond au nom du dossier de votre dll. Si le manifeste est manquant, une copie du bon de manifeste à partir d'une autre machine et le coller dans le manifeste du dossier. Le manifeste des noms de fichier sont: