我想在Visual Studio 2013中编译一个opencv Console C ++程序。这是我的代码:
#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;
}
虽然我已在Computer和Visual Studio目录中定义了属性中的所有目录,但我收到"The program can't start because opencv_world300.dll is missing from your computer."
错误。
如何解决此问题?
由于
答案 0 :(得分:16)
在Windows下,您可以从以下位置复制:
<your install directory>\opencv30\build\x64\vc12\bin
并将其放入Visual Studio解决方案中(我假设您使用的是 x64 / Release 配置):
<your solution directory>\x64\Release
或者您可以将上述OpenCV添加到PATH环境变量
答案 1 :(得分:10)
我遇到了同样的问题。
我在版本320
上。设置完所有环境变量后,请确保Additional Include Directories
,Additional Library Directories
和Additional Dependencies
都正确无误。对我来说,他们分别是$(OPENCV_BUILD)\include;
,$(OPENCV_BUILD)\x64\vc14\lib;
和opencv_world320d.lib;
。
我的OPENCV_BUILD
路径变量C:\opencv320\build
将环境变量设置为%OPENCV_BUILD%\x64\vc14\bin
(.dll文件所在的位置)。要访问Additional
项内容,请右键单击您的项目/解决方案,然后为第一个选择properties -> C/C++
,为其他两个选择properties -> Linker -> General
和Input
。
重新启动Visual Studio ,如果所有内容都已正确实施,那么您应该能够运行该程序,它应该启动。
修改强>
根据您的使用情况,我必须在x86
下拉列表中将x64
切换为Solution Platforms
。
答案 2 :(得分:5)
您可以检查系统变量以确认opencv_world300.dll
所在的目录(可能C:\opencv\build\x64\vc12\bin
)。
如果它存在但问题仍然没有解决,请尝试将目录中的所有.dll
文件放到C:\WINDOWS\system32
答案 3 :(得分:4)
如果这个问题仍然存在,我就想办法了。
我认为您使用OpenCV
网站上的教程来设置OpenCV
。运行命令提示符并执行命令后,它会为OpenCV
创建环境变量,但不会将其添加到路径中。所以,如果你去路径并在vc12中添加bin的位置(对我来说是vc14),保存它,然后重新启动visual studio,它就可以了。
答案 4 :(得分:3)
最佳和简单的解决方案是
在环境系统变量中添加OpenCV / build / x64 / bin的path_variable。
然后重新启动Visual Studio。
这肯定会解决问题。
问题可能是您在打开Visual Studio之后更新了路径变量,因此它无法更新* .dll文件。
答案 5 :(得分:1)
我使用版本320时遇到了完全相同的问题。 在我的情况下,我的&#34; Comodo Internet Security&#34;阻止了应用程序本身和OpenCV的一些事情。一定要把它们全部放在&#34;信任的&#34;在防火墙中右击它们列表。
答案 6 :(得分:1)
我知道这是一篇旧帖子,但我注意到我的lib
和bin
之间存在区别问题,因此我将两者都添加到PATH变量中并且有效。
答案 7 :(得分:1)
在these instructions之后安装用于VS 2017的OpenCV版本3.4.1之后,Visual Studio抱怨缺少opencv_world341d.dll
。即使我已将C:\opencv\build\x64\vc15\bin
添加到Windows PATH,但Visual Studio仍然找不到它,因为当我修改PATH时VS已打开。重新启动Visual Studio解决了该问题。
答案 8 :(得分:1)
按照大家所说的添加路径,并记住重新启动Visual Studio。 我添加了所有路径,甚至尝试将所有 opencv_world.dll 复制到与源文件相同的文件夹中,我要做的就是在添加所有路径后重新启动Visual Studio。 / p>
答案 9 :(得分:1)
在Visual Studio 2019中, 尝试这个 在项目的应用程序exe文件所在的项目的调试目录中添加缺少的文件opencv_world430.dll或opencv_worldd.dll。 将丢失的文件复制并粘贴到调试文件夹中
C:\ Users \ myname \ source \ repos \ myopencv \ x64 \ Debug +在此处添加丢失的文件
我的问题在Microsoft Visual Studio 2019中得到了解决:)