缺少opencv_core248d.dll

时间:2014-02-27 16:56:41

标签: opencv

我正在尝试安装OpenCV 2.4.8。事实证明,这比预期的要复杂得多。这些教程都已过时。这是我目前的问题:

我正在64位计算机上运行,​​我正在尝试一个简单的示例代码:

#include <opencv\cv.h>
#include <opencv\highgui.h>

using namespace cv;


int main() {
    Mat image;

    VideoCapture cap;
    cap.open(0);

    namedWindow("window",1);

    while(true) {

        cap >> image;

        imshow("window", image);

        waitKey(33);
    }


    return 0;
}

当我运行此操作时,出现错误,指出opencv_core248d.dll缺失。检查bin目录,就在那里。我该如何解决这个问题?

此致

编辑:过去3个小时我一直在讨论这个问题。无论谁能帮助我解决这个问题,我都会得到很多代表和爱...严肃地说我已经绝望了

Edit2:某些设置的图片:

OPENCV_BUILD = C:\ OpenCV \ build \

Settings1

Settings2

2 个答案:

答案 0 :(得分:2)

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

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

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

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

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

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


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

答案 1 :(得分:1)

您是否尝试将C:\OpenCV2.0\bin添加到PATH变量中?是的,安装OpenCV可能是一件苦差事:/

您是否已完成正确的项目设置,例如添加源库,源目录等?无论如何,如果我的猜测是正确的,以下将解决该特定错误:

转到您的项目属性,链接器 - &gt;输入 - &gt;其他依赖项,添加opencv_core248d.dll并编译。如果出现新错误,表示您尚未进行正确配置。

编辑:评论 enter image description here

这里是包含目录和库目录。您是否添加了相关的build/include&amp; \lib分别进入include和library目录?这是一些需要完成的“配置”。

EDIT2:回答你的编辑

是的,看起来你确实做了配置。被你的评论搞糊涂了。

1)我不确定$(OPENCV_BUILD)是否有效。也许您想尝试C:\OpenCV2.4\lib,(直接链接)等而不是那样。

2)转到你的链接器输入并编辑其他依赖项(图片来自我的一本书):

enter image description here

希望它有效。别担心。我知道你的感受。我被困在安装OpenCV差不多一个星期了,只有一个人的youtube视频救了我。我需要编辑一些头文件。但这与你的问题不同。祝你好运,希望我的方法有效。

EDIT3:希望这可以解决您的问题,试试这些。

1)如果你正在使用“创可贴”方法,这意味着每次都要复制粘贴dll文件,我怀疑你的PATH变量是错误的。只需仔细检查一下。

你的等价物就像(从你在属性页面中添加的库目录的路径中复制dll文件的路径。但是最后不是lib,而是使用bin文件夹) :

C:\OpenCV2.3\build\x86\vc10\bin

有关详情:Setting window path

如果您已经这样做,只需检查您是否用分号分隔它们。

2)不确定这是否真的是缺少.dll文件的解决方案,如果我没记错的话,更多的是链接错误。但如果步骤1不起作用,或者第一步有效并且您遇到另一个错误,请试一试。最多,你可以撤消它。

对于每个头文件,例如core.hpp文件,添加以下行:

#pragma comment(lib,"opencv_core248.lib")
#pragma comment(lib,"opencv_core248d.lib")

需要对您使用的所有头文件执行此操作。在哪里放置?我把我放在这里: enter image description here

highgui.hpp等也是如此,但您更改了名称,因此#pragma comment(lib,"opencv_core248.lib")变为#pragma comment(lib,"opencv_highgui248.lib"等等......

希望一切顺利。我想如果路径变量,但如果没有和第二种方法不起作用,我就没有线索了。