Qt opencv 程序异常结束,crashed

1.问题描述

在配置VS2015+Qt+OpenCv3.2时,想在Qt中配置OpenCv3.2,配置完毕后,编译运行可以通过,但是运行的时候会出现报错:

Starting D:\demo\build-test-Desktop_Qt_5_8_0_MSVC2015_64bit-Release\release\test.exe...

程序异常结束。

D:\demo\build-test-Desktop_Qt_5_8_0_MSVC2015_64bit-Release\release\test.exe crashed.

Qt opencv 程序异常结束,crashed_第1张图片

2.问题原因

这是最初配置的.pro文件:

Qt opencv 程序异常结束,crashed_第2张图片

分析原因,因为上面的配置用的是静态链接库的方法,程序可能找不到lib库,所以需要进行修改.pro的配置。

3.解决办法

修改.pro文件的配置,如下:

Qt opencv 程序异常结束,crashed_第3张图片

代码如下:

INCLUDEPATH += D:\Software\MSVC_OpenCV\include
               D:\Software\MSVC_OpenCV\include\opencv
               D:\Software\MSVC_OpenCV\include\opencv2

INCLUDEPATH += D:\Software\MSVC_OpenCV\include
CONFIG(debug, debug|release): {
LIBS += -LD:\Software\MSVC_OpenCV\x64\vc14\bin \
-lopencv_world320
-lopencv_world320d
} else:CONFIG(release, debug|release): {
LIBS += -LD:\Software\MSVC_OpenCV\x64\vc14\bin \
-lopencv_world320
-lopencv_world320d
}

完成后,再次运行,程序正常,如下图:

Qt opencv 程序异常结束,crashed_第4张图片

完成代码如下:

Qt opencv 程序异常结束,crashed_第5张图片

#include "widget.h"
#include 

#include 

using namespace std;
using namespace cv;

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Mat image = imread("D:\\5.jpg");
    imshow("image", image);
    waitKey();
    return a.exec();
}

你可能感兴趣的:(Qt)