【问题标题】:"Unable to Locate DLL" when using opencv to capture video from camera使用 opencv 从摄像头捕获视频时出现“无法找到 DLL”
【发布时间】:2015-01-29 05:42:18
【问题描述】:

我在互联网上应用了安装 opencv 2.9 的教程,但我明白了

Unhandled exception at 0x00007FFC6470C0B4 (ntdll.dll) in Project11.exe: 
0xC0000135: Unable to Locate DLL.

我尝试了以下代码,但无法解决。

#include "stdafx.h"
#include <stdio.h>
#include <opencv2/opencv.hpp>
#include <iostream>
#include <stdio.h>
#include "opencv.hpp"

int main(){
    CvCapture *camera=cvCaptureFromFile("rtsp://192.168.1.19:554/0/1:1/main");
    if (camera==NULL)
    printf("camera is null\n"); 
    else
    printf("camera is not null");

    cvNamedWindow("img");
    while (cvWaitKey(10)!=atoi("q")){
            IplImage *img=cvQueryFrame(camera);
            cvShowImage("img",img);
    }
    cvReleaseCapture(&camera);
}

【问题讨论】:

  • 正如错误消息所说,它无法找到 dll。你的包含很奇怪!在你使用 opencv.hpp 时,这意味着你必须使用 c++ opencv api,但你的代码是 C 语言,我肯定会推荐 C++,你的生活会更轻松
  • @Engine 我会亲自处理您的拼写/语法...
  • @Engine 他们的#includes 很奇怪,因为他们试图使用库中源代码中的单个代码文件。
  • @cybermonkey 他刚刚编辑了这个绝对错误的问题!
  • @Engine 嗯?我不明白。

标签: c++ opencv dll


【解决方案1】:

你应该复制dll文件(C:\opencv\build\x64\vc11\bin)到你的System32目录下(通常是C:\Windows\System 32)

【讨论】:

    【解决方案2】:

    如错误消息所述,Windows 找不到所需的 DLL。 此错误很可能是由于缺少OpenCV DLL 引起的; 它必须放置在任一位置

    • 在您的System32 目录中(通常是C:\Windows\System 32
    • 与可执行文件在同一目录中
    • 附加到系统的PATH 环境变量中

    有关正确安装 OpenCV 库的更多信息,请参阅OpenCV Installation on Windows 页面。

    您正在尝试使用 OpenCV 库源代码中的各个文件。虽然这可能有效,但不建议这样做。

    TL:DR;您必须找到opencv_core[version number here] 并将其放在我上面提到的位置之一。

    【讨论】:

    • @Downvoter:愿意评论为什么你投了反对票,而不是“按门铃就跑”?我的回答为他们的问题提供了正确答案。
    • 请不要建议移动 dll,这太可怕了。相反,应该将包含 opencv dll 的文件夹附加到 PATH 环境变量中。 (是的,我是你的反对者之一)
    • @berak 这有多“可怕”?任何外部 DLL 都应该包含在可执行文件的目录中,附加到 PATH 环境变量中,或者(不推荐)放在 Windows 目录中。我进行了编辑以反映这一点。
    • 我应用了教程中的路径环境变量问题,并从 Visual Studio 中引用了它。它仍然给出错误
    • 复制 dll 完全违背了“共享”库的想法。想象一下,你有 20 个使用 opencv 的程序,都有一个调试版本和一个发布版本。
    猜你喜欢
    • 1970-01-01
    • 2019-12-19
    • 2018-07-26
    • 2012-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    相关资源
    最近更新 更多