c++ - 为什么每次运行OpenCV程序都会提示缺少opencv_world310d.dll

查看:167
本文介绍了c++ - 为什么每次运行OpenCV程序都会提示缺少opencv_world310d.dll的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

每次我将编译好的OpenCV程序运行都会报错,下面是恶心的错误提示窗口:

我将opencv_world310d.dll放到工程文件夹下后,程序就运行正常了。虽然这样可以暂时解决问题,但是总是感觉不舒服。我想知道为什么会这样,另外有没有好的解决方案可以彻底解决这个问题,不用每次添加opencv_world310d.dll文件。

如果有人想看代码的话,我这里干脆就放一个OpenCV的测试代码吧。这个代码编译是没问题的,但是在我的电脑上一运行就会出现前面我说的问题。

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

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
    Mat image;
    image = imread("opencv-logo.png", IMREAD_COLOR);

    if (!image.data) // 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;
}

Note:顺便说一下,我的vs版本是2015,opencv版本是3.1,系统是win10.

解决方案

我找到了一个比较合理的答案。首先,我的OpenCV以前用的时候是没有问题的,后来系统升级之后就有问题了,所以我觉得很可能是系统升级造成的这个问题。
那究竟如何解决呢?其实也很简单,只要将缺失的动态链接库添加到路径C:\Windows\System32或者C:\Windows\SysWOW64就可以了,这样就不用每次将动态链接库放到工程所在的文件夹下了。当然,@araraloren的方法也应该是可以的。

这篇关于c++ - 为什么每次运行OpenCV程序都会提示缺少opencv_world310d.dll的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆