OpenCV Programm öffnet über VS 2013 aber nicht über .exe



  • Guten Morgen zusammen,

    Ich habe folgendes Problem:
    Ich habe ein kurzes Programm zum erstellen eines Videos geschrieben.
    Das läuft soweit auch einwandfrei, wenn ich es aus Visual Studio heraus starte.
    Versuche ich nun es über die erstellte .exe zu starten wird folgender Fehler angezeigt:

    "Das Programm kann nicht gestartet werden, da opencv_core2412.dll fehlt. Bitte installieren Sie das Programm neu um den Fehler zu beheben."

    Ebenso kommt der Fehler in der Debug Version der .exe.

    Auch funktioniert es, wenn ich es aus einem weiteren Programm über Visual Studio gestartet per Shellexecute aufrufe, aber nicht, wenn ich das gleiche Programm über die Standard Oberfläche ausführe und so mit dem Shellexecute Befehl das Videoprogramm öffne.

    Ich hoffe ich habe mich verständlich ausgedrückt, alles notwendige Beschrieben und danke für eine schnelle Hilfe.

    Edit: Vielleicht macht diese "Skizze" es verständlicher:

    P1 = Programm zur Videoaufnahme
    P2 = zweites Programm das eine Shellexecute zu P1 aufruft

    VS -> P2 | funktioniert
    P2 aufrufen | funktioniert nicht
    VS -> P1 -> P2 | funktioniert
    P1 -> P2 | funktioniert nicht

    (Eigentlich wollte ich wirklich eine Skizze machen, aber habe nicht gefunden wie ich ein Bild zum Beitrag hinzufüge, sorry)



  • Wo genau liegt denn die "opencv_core2412.dll" bei dir? Wenn sie nur in deinem Projektordner liegt, dann wäre es doch offensichtlich, daß du diese Datei dann in den Output-Ordner kopieren (lassen) mußt.

    Ansonsten diese DLL (sowie evtl. weitere benötigten) in einen eigenen Unterordner packen und zum PATH hinzufügen.

    s.a. Visual Studio 2012 with OpenCV ver 2.4.10 DLL missing error



  • Danke erstmal für die Antwort!

    Zur PATH Variablen ist der Pfad hinzugefügt, weshalb ich davon ausgegangen war, dass es gehen müsste.

    Allerdings hast du recht, es hätte mir auch einfallen können die .dll einfach mal einzufügen und zu gucken, ob es dann geht.
    Leider hat es noch nicht den gewünschten Effekt, denn nun startet das Programm zwar zunächst, die Webcam wird angesprochen (weiße LED geht an) aber anschließend geht es sofort wieder aus.

    Da es über Visual Studio geht, kann ich auch nicht sinnvoll debuggen. Ist das wieder so ein simpler Fehler?

    Edit: Mit static Libraries habe ich leider noch weniger Erfahrung, als mit .dll, was dazu geführt hat, dass ich auch nach lesen der ein oder anderen Hilfe hier einige Fehler erhalte (http://stackoverflow.com/questions/10570551/how-to-use-the-opencv-2-4-static-libraries-with-visual-studio beschreibt meinen Fehler, aber die Lösung scheint bei mir nicht zu gehen...)


Log in to reply