9
votes

Msvcp90.dll non trouvé?

Dans mon projet si compilez le projet de version, il me demande msvcp90.dll.

Si c'est débogé, il ne ...

Avez-vous déjà rencontré une telle situation?

Et savez-vous pourquoi cela .dll est souhaité? ou quelle configuration le rend à désirer?

Merci pour tout conseil ..


1 commentaires

Essayez-vous de créer de manière dynamique vers un fichier DLL externe


6 Réponses :


14
votes

Je pense que vous devez installer un package redistribuable Microsoft Visual C ++ 2008 que vous pouvez obtenir de ici .


0 commentaires


14
votes

J'ai réalisé que j'ai déjà installé le package redistribuable Microsoft Visual C ++ 2008, donc je viens de réparé, mais cela n'a pas résolu le problème.

Puis je cherchais la configuration et j'ai vu que "générer des manifestes" est "non" en libération quand il était "oui" dans le débogage.

Alors j'ai changé et essayé à nouveau, alors cela a fonctionné.

Je ne savais pas que cette configuration peut affecter comme ça, (et je ne me souviens pas quand je l'ai changé)

Quoi qu'il en soit, merci pour vos autres réponses ...


4 commentaires

Vous pouvez vérifier comment les DLL d'exécution MS sont déployées dans le répertoire Windows à% Windir% / WINSXS. Windows utilise Manifest pour déterminer quelle DLL d'exécution particulière à charger.


Une autre option qui peut causer le même problème: outil manifeste | Intégrer Manifest = Non.


Merci je suis stupidement handicapé le manifeste et cela m'a résolu pour moi! Merci :)


Pour l'enregistrement, quiconque ayant le même problème avec QT Creator, tout ce que vous avez à faire est d'ajouter config + = embed_manifest_exe à votre fichier .pro.



1
votes

Vérifiez vos paramètres de projet. Si vous ne générez pas de manifeste pour votre version de version, la DLL devra être dans le répertoire System32.

Également, si vos constructions de version et de débogage se rendent dans le même répertoire, cela pourrait voir le manifeste de débogage, ce qui le signalait à la version de débogage de la DLL. Votre meilleur pari est de générer un manifeste intégré pour toutes les constructions.


0 commentaires

0
votes

Il existe plusieurs fichiers qui rendent le temps d'exécution Visual C ++ et vous pouvez avoir le même problème avec aucun d'entre eux. Vous pourriez jeter un coup d'œil à d'autres questions concernant l'un des fichiers suivants.

  • MSVCP90.DLL
  • MSVCP90D.DLL (version de débogage de MSVCP90.dll)
  • msvcr90.dll
  • msvcr90d.dll (version de débogage de msvcr90.dll)

2 commentaires

Ma pensée initiale était fausse. Cela n'a rien à voir avec la liste à puces, et tout à faire avec le fait que vous essayez d'audacieux juste une partie d'un mot. Ceci est par conception, car il ne ferait pas de marquer le code en caractères gras par erreur. Voir l'explication de Jeff ici: meta.stackexchange.com/questions/1643/...


@Bill quel est le problème avec des noms de fichiers avec m dans le nom?



1
votes

Vous avez probablement désactivé l'incorporation manifeste dans votre projet dans la configuration de la libération.


0 commentaires