C++ - impossible de démarrer correctement (0xc0150002)

j'essaie de courir un OpenCV application Microsoft Visual C++ 2010 Express, et obtenez le message suivant:

enter image description here

Comment puis-je résoudre ce problème?

16
demandé sur Stephen Kennedy 2011-02-26 12:26:27

10 réponses

je suis d'accord avec Brandrew, le problème est probablement causé par le manque des dll qui ne peut pas être trouvé, ni sur le chemin d'accès au système, ni dans le dossier où le fichier exécutable est. Essayez de placer les DLLs suivants à proximité de l'exécutable:

  • Visual Studio C++ runtime (dans VS2008, ils pourraient être trouvés dans des endroits comme C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86.) Comprend les 3 fichiers DLL ainsi que le fichier manifeste.
  • les quatre dlls OpenCV (cv210.dll, cvaux210.dll, cxcore210.dll et highgui210.dll, ou ceux que votre version OpenCV a)
  • si cela ne fonctionne toujours pas, essayez le debug VS runtime (les exécutables compilés pour "Debug" utilisent un ensemble différent de dlls, nommé quelque chose comme msvcrt9d.dll, important part is the"d")

alternativement, essayez de charger L'exécutable dans la dépendance Walker ( http://www.dependencywalker.com/), Il devrait indiquer les dlls manquantes pour vous.

11
répondu Latanius 2011-02-28 18:45:47

Dans mon cas, Détecteur Visuel De Fuite j'utilisais pour traquer les fuites de mémoire dans Visual Studio 2015 manquait le fichier Microsoft manifestMicrosoft.DTfW.DHL.manifest voir le lien Détecteur Visuel De Fuite De Bâtiment tous les chemin vers le bas. Ce fichier doit être dans le dossier vld.dll ou vld_x64.dll est dans votre configuration, dire C:\Program Files (x86)\Visual Leak Detector\bin\Win32,C:\Program Files (x86)\Visual Leak Detector\bin\Win64,Debug ou x64/Debug.

5
répondu LastBlow 2018-06-16 06:22:53

je le prends c'est un Vista Fenêtre! J'ai souvent eu cela lors de la première tentative de port D'un programme DirectX de XPsp3 à Vista.

C'est un .problème dll. Le runtime OpenCV.dll fera appel à un système.dll qui ne sera plus envoyé Vista, donc malheureusement, vous aurez à un peu de chasse pour trouver quel système.dll il essaye de les trouver. (système.dll pourrait être vc2010 ou vista)

Cette erreur est également causée par une installation incorrecte .dll (j'.e de ne pas rouler hors) hth Heureux de chasse

1
répondu Brandrew 2011-02-26 10:23:01

j'ai eu cette erreur en essayant d'exécuter le fichier solution de mon ami par visual studio 2010 après l'avoir converti en version 2010. Le correctif est facile, je crée un nouveau projet, clic droit sur la solution pour ajouter existant .rpc et .le dossier h du projet de mon ami. Puis il travail.

1
répondu huy_gm 2012-01-09 10:14:47

il suffit d'exécuter .fichier exe dans la dépendance walker (http://dependencywalker.com/) et il vous indiquera les DLLs manquants et télécharger ces dll (www.dll-files.com) et coller dans le c:windows: system32 et le dossier comme votre .exe et même fournir le chemin de ces dll dans la variable de chemin.

1
répondu akash 2015-03-08 18:11:42

même si j'ai fait face à la même erreur, je l'ai corrigée par la suite... Deux choses que vous devez regarder dans

  1. si votre chemin système est correctement défini dans les variables de votre environnement
  2. Vérifiez les pré-processeurs dans les Propriétés du Projet->c/c++->Pré-processeurs. Vérifiez si vous avez inclus _CONSOLE, cela provoquait l'erreur pour moi. Pour Certaines applications, vous devez inclure WIN32;_WINDOWS;_CONSOLE;_DEBUG;QT_DLL;QT_GUI_LIB;QT_NETWORK_LIB;QT_CORE_LIB;COIN_DLL;SOQT_DLL;QT_DEBUG;

j'ai eu cette erreur pendant que je travaillais dans l'Application coin3D.

0
répondu user2716873 2013-11-19 05:17:53

j'ai rencontré un tel problème. Visual Studio 2008 a clairement dit: le problème a été causé par libtiff.DLL. Il ne peut pas être chargé pour quelque raison, causée par son manifeste (en fait, cette dll n'a pas de manifeste du tout). Je l'ai réparé, quand j'ai enlevé libtiff.dll de mon projet (mais en même temps j'ai perdu la capacité d'ouvrir des TIFFs compressés!). J'ai recompilé susmentionnés dll, mais le problème demeure. Intéressant, qu'à ma propre machine, je n'ai pas cette erreur. Trois autres comps ont refusé de charger mon programme. Attention!!! Ici http://www.error-repair-tools.com/ppc/error.php?t=0xc0150002 Un garçon sage a écrit, que cette erreur a été causée par un problème avec le registre et offre outil de réparation. J'ai une supposition solide, que cet "outil de réparation" installera un certain logiciel malveillant à votre comp.

0
répondu Andrew 2013-12-23 18:42:23

c'est parce qu'il y a une DLL que votre programme manque ou ne peut pas trouver.

dans votre cas, je crois que vous manquez l'openCV dlls. Vous pouvez les trouver dans le répertoire" build " fourni avec open CV. Si vous utilisez VS2010 et que vous construisez un programme x86, Vous pouvez localiser vos dlls ici sous "opencv\build\x86\vc10\bin". Il suffit de copier tous ces fichiers dans vos dossiers de débogage et de publication et il devrait résoudre vos problèmes.

généralement vous pouvez résoudre ce problème à l'aide de la procédure suivante:

  1. Télécharger Dependency Walker à partir d'ici: http://www.dependencywalker.com/
  2. Chargez votre .fichier exe dans le Walker de dépendances (sous vos dossiers Debug ou Release), dans votre cas ce serait DisplayImage.exe
  3. recherchez les DLL manquantes, ou corrompues, ou qui sont pour la mauvaise architecture (i.e. x64 au lieu de x86). ces DLL seront surlignés en rouge.
  4. pour chaque DLL que vous sont manquants soit copie à vos dossiers de débogage ou de publication avec votre .exe, ou installez le logiciel requis, ou ajoutez le chemin vers les variables DLLs de votre environnement (Win+Pause -> Paramètres Système avancés -> Variables D'environnement)

n'oubliez pas que vous aurez besoin d'avoir ces Dll dans le même répertoire que votre .EXE. Si vous copiez la .exe du dossier de publication vers un autre endroit alors vous aurez besoin de ces DLLs copiés avec le .exe ainsi. Pour la portabilité, j'ai tendance à essayer et avoir une Machine virtuelle de test avec une installation propre de Windows (Pas de mises à jour ou de programmes installés), et je marche dans les dépendances en utilisant la dépendance Walker un par un jusqu'à ce que le programme tourne avec bonheur.

C'est un problème commun. Voir aussi ces questions:

vous ne Pouvez pas exécuter un vc++, le code d'erreur 0xc0150002

l'application n'a pas pu démarrer (0xc0150002) avec libcurl C++ Windows 7 VS 2010

0xc0150002 erreur en essayant D'exécuter VC++ libcurl

L'application n'a pas pu démarrer correctement 0xc150002

l'application n'a pas pu démarrer correctement (0*0150002) - OpenCv

Bonne Chance!

0
répondu ALM865 2017-05-23 12:17:47

dans notre cas (à côté de l'essai de dépendance Walker) c'était un fichier de manifeste défectueux, mélangeant 64 bits et 32 bits. Nous utilisons deux fichiers supplémentaires pendant l'exécution en mode Debug: dbghelp.dll et Microsoft.DTfW.DHL.manifester. Le fichier manifeste ressemble à ceci:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- $Id -->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <noInheritable />
    <assemblyIdentity type="win32" name="Microsoft.DTfW.DHL" version="6.11.1.404" processorArchitecture="x86" />
    <file name="dbghelp.dll" />
</assembly>

Notez le champ 'processorArchitecture'. Il a été défini à "amd64" au lieu de "x86". Ce n'est probablement pas toujours la cause, mais dans notre cas, c'était la cause profonde, donc cela peut être utile à certains. Pour les courses 64 bits, vous voulez "amd64" là.

0
répondu Ruud van Gaal 2015-11-18 14:10:19

Voici ma solution pour cette erreur:

(l'Application n'a pas pu démarrer correctement (OXO15OOO20).Cliquez pour fermer l'application).

  1. à partir du menu Démarrer, cliquez sur Outils administratifs, puis cliquez sur Windows Server Backup.

  2. cliquez sur Fichier, cliquez sur Option, puis dans le nettoyage de Disque appuyez sur Supprimer les fichiers, puis appuyez sur O. K, et supprimer jusqu'à ce qu'il atteigne 0 byete

Pas D'Inquiétude Simplement, il supprime la quantité d'espace disque sur votre ordinateur.

-1
répondu Najibullah Eidizada 2015-11-18 12:34:56