Qt+OpenCV运行时可以编译通过,但总是出程序异常结束。解决方案!
来源:互联网 发布:自学python 编辑:程序博客网 时间:2024/05/01 12:38
本人的运行环境为:
操作系统:Windows7
运行:QtCreator(Qt5.7) + OpenCV(2.4.9)
背景:之前在另一台电脑运行的是Qt4.7 + OpenCV2.4.2,(.pro)文件配置如下:
<span style="white-space:pre"></span>INCLUDEPATH += C:\Opt\opencv\build\includeINCLUDEPATH += C:\Opt\opencv\build\include\opencvINCLUDEPATH += C:\Opt\opencv\build\include\opencv2LIBS+= C:\Opt\opencv\build\x86\vc10\lib\opencv_ml242d.lib\ C:\Opt\opencv\build\x86\vc10\lib\opencv_calib3d242d.lib\ C:\Opt\opencv\build\x86\vc10\lib\opencv_contrib242d.lib\ C:\Opt\opencv\build\x86\vc10\lib\opencv_core242d.lib\ C:\Opt\opencv\build\x86\vc10\lib\opencv_features2d242d.lib\ C:\Opt\opencv\build\x86\vc10\lib\opencv_flann242d.lib\ C:\Opt\opencv\build\x86\vc10\lib\opencv_gpu242d.lib\ C:\Opt\opencv\build\x86\vc10\lib\opencv_highgui242d.lib\ C:\Opt\opencv\build\x86\vc10\lib\opencv_imgproc242d.lib\ C:\Opt\opencv\build\x86\vc10\lib\opencv_legacy242d.lib\ C:\Opt\opencv\build\x86\vc10\lib\opencv_objdetect242d.lib\ C:\Opt\opencv\build\x86\vc10\lib\opencv_video242d.lib\ C:\Opt\opencv\build\x86\vc10\lib\opencv_videostab242d.libmain.c文件运行一个简单的opencv代码。
#include "mainwindow.h"#include <QApplication>#include "cv.h"#include "cxcore.h"#include "highgui.h"int main(int argc, char *argv[]){ QApplication a(argc, argv); MainWindow w; w.show(); //声明IplImage指针 IplImage *pImg; //载入图片 pImg=cvLoadImage("F:\\1.png",1); //创建窗口 cvNamedWindow("Image",1); //显示图像 cvShowImage("Image",pImg); //等待按键 cvWaitKey(0); //销毁窗口 cvDestroyWindow("Image"); //释放图像 cvReleaseImage(&pImg); return a.exec();}编译通过,程序可以正常运行。
今天,在新电脑配置好Qt5.7+opencv249后,在main.c贴的也是以上的
代码,(.pro)文件配置也一样只不过将242改为了249。然后在编译,可以通过
但是运行不了,一运行就出现以下错误信息。
Starting D:\Projects\PROS_Qt\build-TestQt5_7-Desktop_Qt_5_7_0_MinGW_32bit-Debug\debug\TestQt5_7.exe...
程序异常结束。
D:\Projects\PROS_Qt\build-TestQt5_7-Desktop_Qt_5_7_0_MinGW_32bit-Debug\debug\TestQt5_7.exe crashed.
于是网上找了类似问题,但是一般都是提问的,解决的倒是没找到,都是零零散散的讨论,我在大家的讨论中总结了以下的解决方案。
1)配置Qt的mingw环境变量,在系统环境变量Path后面添加以下几个路径
C:\Opt\qt5.7.0\5.7\mingw53_32\bin
C:\Opt\qt5.7.0\Tools\mingw530_32\bin
C:\Opt\qt5.7.0\Tools\mingw530_32\i686-w64-mingw32\bin
注:如果opencv的环境变量没配置,一行配置(配置自行度娘)。
2)修改(.pro)文件的LIBS(加上-L -l ),修改如下,自行与以上.pro对比(红色)
INCLUDEPATH+= C:\Opt\opencv\build\include\opencv\ C:\Opt\opencv\build\include\opencv2\ C:\Opt\opencv\build\include<span style="color:#ff6666;">LIBS += -L"C:Opt\\opencv\\build\\x86\\vc10\\lib" \ -lopencv_core249 \ -lopencv_highgui249 \ -lopencv_imgproc249 \ -lopencv_ml249d \ -lopencv_video249d\ -lopencv_features2d249d\ -lopencv_calib3d249d\ -lopencv_objdetect249d\ -lopencv_contrib249d\ -lopencv_legacy249d\ -lopencv_flann249d</span>现在,再次编译运行,不出意外应该可以了,如果不行,执行下一步。
3)删除之前编译的(debug or release)文件夹下的exe文件,然后再次
编译运行,这次绝对是OK的。
本人就是这样搞定了。
- Qt+OpenCV运行时可以编译通过,但总是出程序异常结束。解决方案!
- QT 编译通过但是运行出现程序异常结束或者crashed的问题 在QT creator中最佳解决办法
- Qt opencv 程序异常结束,crashed
- QT程序异常结束
- Qt程序异常结束
- QT程序异常结束
- qt vs 能通过编译,但运行出错
- 编译通过但不能运行的程序最麻烦!
- gcc编译通过,但运行程序出现段错误
- QT_openCV2.4.9或相关版本编译正常,运行时提示“程序异常结束”问题分析
- 【Qt】Qt程序编译成功,执行时报错:程序异常结束,crashed
- 怎样解决Qt编译出的程序运行时缺少libgcc_s_dw2-1.dll 文件的问题?
- arm版qt opencv程序自启动 触摸屏可以用但不能初始化摄像头
- centos7 qt 编译opencv 异常
- 1.4.Qt通过命令行编译运行程序注意事项
- 程序可以运行,但几个界面打不开
- vc程序可以运行但没结果
- Qt 程序异常结束,并且crashed
- 洛谷 P1014 Cantor表
- 回调函数
- Ajax ファイルダウンロード MVC(vb)
- java设计模式-策略模式
- 与初恋结婚的概率是1%
- Qt+OpenCV运行时可以编译通过,但总是出程序异常结束。解决方案!
- 找出出列表的最大最小值
- 数组指针和指针数组的区别
- 几种常用的本地化存储方式
- 数据库事务特性学习笔记
- 国外可以下载免费电子书的网站集合
- 最长递增子序列
- java基础增强(泛型,反射, 注解,日志)
- binary