Reputation: 3781
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?
Upvotes: 27
Views: 106755
Reputation: 2225
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.
Upvotes: 1
Reputation: 1
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.
Upvotes: 0
Reputation: 21
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 :)
Upvotes: 2
Reputation: 1540
Best and simple solution is
Add path_variable of OpenCV/build/x64/bin in environment system variables.
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.
Upvotes: 3
Reputation: 57
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.
Upvotes: 1
Reputation: 351
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.
Upvotes: 4
Reputation: 105
I know this an old post but I noticed that mine has a problem distinguishing between lib
and bin
, so I added both to the PATH variable and it worked.
Upvotes: 5
Reputation: 3165
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.
Upvotes: 14
Reputation: 171
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.
Upvotes: 1
Reputation: 79
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
Upvotes: 7
Reputation: 61
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.
Upvotes: 5
Reputation: 1074
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
Upvotes: 34