OpenCV - 缺少dll?

时间:2013-12-22 10:11:20

标签: c++ opencv

我是初学者,学习OpenCV。我有最新版本(截至2013年12月的2.4.7.2),我正在尝试一个简单的代码来加载图像。代码没问题,但是当我编译然后运行源代码时,就说了 “程序无法启动,因为缺少opencv_core247d.dll。”

我已经尝试根据几个建议更改计算机的环境并为我的解决方案设置所有相应的路径。我尝试重新启动PC,将“丢失的文件”添加到我的源代码的调试文件中,尝试使用CMake(幸运的是它没有生成任何内容,我想这是我的下一个问题);问题依然存在。

那么,有没有任何万无一失的简单方法来处理这个问题?谢谢。顺便说一句,这是我的小源代码:


# include "highgui.h"

int main (int argc, char** argv)
{

    IplImage* img = cvLoadImage("D:\\OpenCV Test\\LoadImage\\fruits.jpg") ;
    cvNamedWindow("Fuits", CV_WINDOW_AUTOSIZE) ;
    cvShowImage("Fuits", img) ;
    cvWaitKey(0) ;
    cvDestroyWindow("Fruits") ;
    cvReleaseImage (&img) ;
}

4 个答案:

答案 0 :(得分:1)

您正在遇到 OpenCV dll问题,类似于here。修复dll相关问题的三种方法 - 也适用于其他dll相关问题。

  1. 将所需的dll复制到应用程序的同一文件夹中。这有点好一点,因为当您需要在没有安装OpenCV的系统上部署应用程序时,它会为您做好准备(因为不要忘记构建应用程序的发布版本)。

  2. 将dll路径添加到Debugging Environment:项目 - >属性 - >配置属性 - >调试 - >环境 - >在这里添加dll的路径。语法为NAME = VALUE,可以使用宏(例如,$(OutDir)。

    • 例如,要将C:\ Windows \ Temp添加到PATH:PATH = C:\ WINDOWS \ Temp;%PATH%

    • 同样,要将$(SolutionDir)\ DLLS附加到PATH:PATH =%PATH%; $(SolutionDir)\ DLLS

  3. 将dll路径添加到Environment Variables(请注意其中的路径以;分隔)


  4. 编辑:在这三种方法中,前两种方法仅适用于此项目(本地),最后一种方法适用于PC(全局)中的所有项目。

答案 1 :(得分:1)

我有问题。 我有win7-64bit和visual studio 2013以及opencv-3

程序无法启动,因为您的计算机缺少opencv_word300d.dll。尝试重新安装程序以解决问题。

答案 2 :(得分:1)

作为提示,请确保链接器中的最后三位数字与实际的dll文件包含相同的数字。 例如:版本3.2.0应该写成320.dll等等

答案 3 :(得分:0)

确保正确设置了环境变量(即Path应该../opencv/bin/),然后在CMakeList文件中使用这些行生成相应的项目文件。

FIND_PACKAGE( OpenCV REQUIRED )
TARGET_LINK_LIBRARIES( myProject ${OpenCV_LIBS} )