我有以下程序,与this tutorial page for OpenCV 3.4.0相同。我在使用Windows 10 Enterprise 64位的64位笔记本电脑上使用Visual Studio 2017社区。 p>
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main( int argc, char** argv )
{
if( argc != 2)
{
cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
return -1;
}
Mat image;
image = imread(argv[1], IMREAD_COLOR); // Read the file
if( image.empty() ) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl ;
return -1;
}
namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.
imshow( "Display window", image ); // Show our image inside it.
waitKey(0); // Wait for a keystroke in the window
return 0;
}
通过为此项目设置包含和链接器目录和库,解决方案构建得很好。但是当我运行程序时,我收到以下错误:
&#34;代码执行无法继续,因为找不到zlibd1.dll。重新安装程序可能会解决此问题。&#34;
从我最初的研究来看,它不一定来自Visual Studio 2017.当我尝试创建一个新项目时,我没有选择&#34; Win32控制台应用程序。&#34;此源代码所在的项目是Visual C ++下的Windows控制台应用程序类型,支持.NET Framework 4.5。
我在这里缺少什么?
根据教程,我应该只使用OpenCV 3.4.0提供的库和动态链接库。我记得有一次使用NuGET尝试再次安装OpenCV 3.4.0,as explained here,当我试图从OpenCV 3.4.0本身的文件中解决有关fopen的编译错误时。
答案 0 :(得分:0)
好吧,显然这是关于我的系统路径的问题。它设置不正确,之前,我所拥有的是路径变量设置如下:
%OPENCV_DIR%\lib
%OPENCV_DIR%\bin
$(OPENCV_DIR)只是OpenCV 3.4.0的构建目录。
但那里的目录不存在,因此无法找到库。所以,我用它替换了它们:
%OPENCV_DIR%\x64\vc15\bin
%OPENCV_DIR%\x64\vc15\lib
现在程序正在运行。我在那里想什么?
无论哪种方式,需要注意的重要一课:当您收到一条弹出消息,指出由于缺少库而无法打开程序,并且是OpenCV 3.4.0的一部分时,确保您的系统Windows 10系统高级设置中的路径是存在的OpenCV目录。
答案 1 :(得分:0)