Qt OpenCV程序退出,代码为-1073741515

时间:2018-09-04 07:53:18

标签: c++ qt opencv

我想做什么

我尝试使用opencv并运行一个简短的示例程序。

问题

它以代码-1073741515退出。我从未尝试在尝试的4个系统中的任何一个上使用openCV,所以我做错了事,但不知道是什么。

使用不同的尝试(未定义的引用,崩溃的程序且没有错误代码等),我遇到了diffrenet错误,这是最简单的示例。

我发现了什么

另一个post告诉我,-1073741515等于0xC0000135,意味着STATUS_DLL_NOT_FOUND

我尝试过的

如果包含#include <opencv2/core/core.hpp>,程序将崩溃, #include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>。当我注释掉它们时,它将运行wnd返回预期的0。我什至不需要使用类似cv::Mat之类的东西或使其崩溃的东西。这似乎很奇怪,因为代码完成会向我推荐来自openCV的内容,因此可以通过某种方式看到。相反,包含#include <opencv2/opencv.hpp>会导致相同的错误代码。包括以opencv开头的内容(不是opencv2)是可以的,例如#include <opencv/cv.hpp>,但功能不足。

源文件

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

#include <iostream>
using namespace std;

int main()
{
    cv::Mat InputImage = cv::imread("C:/Users/Public/Pictures/Sample Pictures/Chrysanthemum.jpg");

    if(!InputImage.empty())
        cv::imshow("test", InputImage);
    else
        cout << "imgage is empty" << endl;

    return 0;
}

项目文件

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

INCLUDEPATH += D:/opencv/build/include
LIBS += -LD:/opencv/build/x64/vc14/lib
LIBS += -lopencv_world343d
LIBS += -lopencv_world343

SOURCES += \
        main.cpp

相关文件夹

包含路径:

include path

库:

libs

项目:

project

构建(也将库复制到release / debug文件夹中):

build

版本

  • QT 5.10.1
  • MSVC17 64位编译器
  • Windows 7 Enterprise 64位
  • openCV 3.4.3(vc14 / vc15)

1 个答案:

答案 0 :(得分:0)

Jiu在上面的评论中指出,解决方案很简单:

复制.dll而不是.lib即可。