简体   繁体   中英

"The program can't start because opencv_world300.dll is missing from your computer" error in C++

I want to compile an opencv Console C++ program in Visual Studio 2013. This is my 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;
}

Although I have defined all the directories in properties both in Computer and Visual Studio directories, I get the following error:

"The program can't start because opencv_world300.dll is missing from your computer."

How can I fix this problem?

Under windows you can copy it from:

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

And put it in your Visual Studio solution (I assume you are using a x64/Release configuration):

<your solution directory>\x64\Release

Or you you can add the above OpenCV to your PATH environment variable

I had the same problem.

I'm on version 320 . Once all your environment variables are set make sure your Additional Include Directories , Additional Library Directories and Additional Dependencies are all correct. For me they were $(OPENCV_BUILD)\include; , $(OPENCV_BUILD)\x64\vc14\lib; and opencv_world320d.lib; respectively.

My OPENCV_BUILD path variable is C:\opencv320\build setting the environment variable to %OPENCV_BUILD%\x64\vc14\bin (where the .dll files are located) . To get to the Additional things right-click on your project/solution and select properties -> C/C++ for the first and properties -> Linker -> General and Input for the other two.

Restart Visual Studio and if everything was implemented correctly then you should be able to run the program and it should start.

Edit:

Depending on what you used I had to also switch mine from x86 to x64 in the Solution Platforms dropdown.

You can check your system variable to confirm the directory in which opencv_world300.dll is located (maybe C:\opencv\build\x64\vc12\bin ) is present.

If it exists but the problem still is not solved, try to put all .dll files in the directory to C:\WINDOWS\system32

我知道这是一篇旧文章,但我注意到我在区分libbin时存在问题,因此我将两者都添加到了 PATH 变量中并且它起作用了。

If this question is still relevant, I figured out the way.

I presume you used the tutorial on the OpenCV website to setup OpenCV . Once you run the command prompt and execute the command, it creates the environment variable for OpenCV but it does not add it in the path. So if you go to the path and add the location of the bin in vc12 (vc14 for me), save it, and restart visual studio, it works.

After installing OpenCV version 3.4.1 for use with VS 2017 following these instructions , Visual Studio complained about missing opencv_world341d.dll . Even though I had added C:\opencv\build\x64\vc15\bin to the windows PATH, Visual Studio still couldn't find it as VS was already open when I modified the PATH. Restarting Visual Studio fixed the problem.

Best and simple solution is

  1. Add path_variable of OpenCV/build/x64/bin in environment system variables.

  2. And then restart the visual studio.

this definitely will solve the problem.

the problem might be you've updated the path variable after opening the visual studio so it can't update the *.dll files.

I just had the exact same problem using version 320. In my case my "Comodo Internet Security" was blocking a few things of the application itself and of OpenCV. Make sure to put them all on the "trusted" list by right clicking on them in your firewall.

Add the paths as everybody says and keep in mind to restart the Visual Studio. I added all the paths, even tried to copy all the opencv_world.dll in the same folder as the source file, all i had to do was to restart the Visual Studio after i added all the paths.

In visual studio 2019, TRY THIS Add missing file opencv_world430.dll or opencv_worldd.dll in the debug directory of the project where your project application exe file is there. copy & paste missing files in the debug folder

C:\Users\myname\source\repos\myopencv\x64\Debug + add your missing file here

my problem got solved in microsoft visual studio 2019 :)

I just upgraded OpenCV from OpenCV 4.1.2 to 4.5.1 and it solved this problem (Unhandled exception at 0x00007FFAD5A193D2 (opencv_world412d.dll))! The only Visual Studio setting change is the dll additional file name from opencv_world412d.dll to opencv_world451d.dll.

This most commonly occurs when you do not add the file in question to your path variable and restart visual studio.

My opencv_world460.dll file was located in the following folder: C:\OpenCV-4.6.0\opencv\build\x64\vc14\bin . I added this to my system variables PATH .

Note in general, that when you update path variables, you must restart your console or visual studio. The path variables are only updated when you restart a console or when you restart visual studio.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM