web-dev-qa-db-fra.com

"Le programme ne peut pas démarrer car opencv_world300.dll est absent de votre ordinateur" Erreur dans C ++

Je veux compiler un programme C++ console opencv dans Visual Studio 2013. Voici mon code:

#include "stdafx.h"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, const char** argv)
{
    Mat img = imread("rgb_1.png", CV_LOAD_IMAGE_UNCHANGED); //read the image data in the file "MyPic.JPG" and store it in 'img'

    if (img.empty()) //check whether the image is loaded or not
    {
        cout << "Error : Image cannot be loaded..!!" << endl;
        //system("pause"); //wait for a key press
        return -1;
    }

    namedWindow("MyWindow", CV_WINDOW_AUTOSIZE); //create a window with the name "MyWindow"
    imshow("MyWindow", img); //display the image which is stored in the 'img' in the "MyWindow" window

    waitKey(0); //wait infinite time for a keypress

    destroyWindow("MyWindow"); //destroy the window with the name, "MyWindow"

    return 0;
}

Bien que j'ai défini tous les répertoires dans les propriétés des répertoires Computer et Visual Studio, j'obtiens "The program can't start because opencv_world300.dll is missing from your computer." Erreur.

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

Merci

18
yusuf

Sous Windows, vous pouvez le copier à partir de:

<your install directory>\opencv30\build\x64\vc12\bin

Et mettez-le dans votre solution Visual Studio (je suppose que vous utilisez une configuration x64/Release):

<your solution directory>\x64\Release

Ou vous pouvez ajouter l'OpenCV ci-dessus à votre variable d'environnement PATH

18
RevJohn

J'ai eu le même problème.

Je suis sur la version 320. Une fois que toutes vos variables d'environnement sont définies, assurez-vous que vos Additional Include Directories, Additional Library Directories Et Additional Dependencies Sont tous corrects. Pour moi, ils étaient $(OPENCV_BUILD)\include;, $(OPENCV_BUILD)\x64\vc14\lib; et opencv_world320d.lib; Respectivement.

Ma variable de chemin OPENCV_BUILD Est C:\opencv320\build Définissant la variable d'environnement sur %OPENCV_BUILD%\x64\vc14\bin(où se trouvent les fichiers .dll). Pour accéder aux choses Additional, faites un clic droit sur votre projet/solution et sélectionnez properties -> C/C++ Pour le premier et properties -> Linker -> General Et Input pour les deux autres.

Redémarrez Visual Studio et si tout a été correctement implémenté, vous devriez pouvoir exécuter le programme et il devrait démarrer.

Modifier:

En fonction de ce que vous avez utilisé, j'ai dû également basculer le mien de x86 Vers x64 Dans la liste déroulante Solution Platforms.

10
luckyging3r

Vous pouvez vérifier votre variable système pour confirmer le répertoire dans lequel opencv_world300.dll est situé (peut-être C:\opencv\build\x64\vc12\bin) est présent.

S'il existe mais que le problème n'est toujours pas résolu, essayez de mettre tous les .dll fichiers du répertoire vers C:\WINDOWS\system32

7
Fish Chang

Si cette question est toujours d'actualité, j'ai trouvé le chemin.

Je suppose que vous avez utilisé le didacticiel sur le site Web OpenCV pour configurer OpenCV. Une fois que vous avez exécuté l'invite de commande et exécuté la commande, il crée la variable d'environnement pour OpenCVmais il ne l'ajoute pas dans le chemin d'accès. Donc, si vous allez dans le chemin et ajoutez l'emplacement du bac dans vc12 (vc14 pour moi), enregistrez-le et redémarrez visual studio, cela fonctionne.

4
Abhiroop Tandon

Je sais que c'est un ancien article mais j'ai remarqué que le mien a un problème à distinguer entre lib et bin, j'ai donc ajouté les deux à la variable PATH et cela a fonctionné.

2
Tommy Mertell

Ajoutez les chemins comme tout le monde le dit et n'oubliez pas de redémarrer Visual Studio. J'ai ajouté tous les chemins, j'ai même essayé de copier tous les opencv_world.dll dans le même dossier que le fichier source, tout ce que j'avais à faire était de redémarrer Visual Studio après avoir ajouté tous les chemins.

1
Cristi.Fatu

Après avoir installé OpenCV version 3.4.1 pour une utilisation avec VS 2017 suivant ces instructions , Visual Studio s'est plaint de manquer opencv_world341d.dll. Même si j'avais ajouté C:\opencv\build\x64\vc15\bin dans le chemin Windows, Visual Studio ne le trouvait toujours pas car VS était déjà ouvert lorsque j'ai modifié le chemin. Le redémarrage de Visual Studio a résolu le problème.

1
Andrew H

Je viens d'avoir exactement le même problème en utilisant la version 320. Dans mon cas, mon "Comodo Internet Security" bloquait certaines choses de l'application elle-même et d'OpenCV. Assurez-vous de les mettre tous sur la liste "de confiance" en faisant un clic droit sur eux dans votre pare-feu.

1
Acimaz