Qt 程序异常结束。

liu15073458538 2016-06-09 11:28:42
win7下配置opencv2.4.9在Qt4.8.6的开发环境
Qt4.8.6:qt-opensource-windows-x86-mingw482-4.8.6-rc2
CMake: 2.8
MingW: 482


测试程序

#include "cv.h"
#include "cxcore.h"
#include "highgui.h"

int main(int argc, char *argv[])
{
IplImage *pImg;
pImg = cvLoadImage("F:/1.jpg");
cvNamedWindow("Image", 1);
cvShowImage("Image", pImg);
cvWaitKey(0);
cvDestroyWindow("Image");
cvReleaseImage(&pImg);

return 0;
}

pro设置

#-------------------------------------------------
#
# Project created by QtCreator 2016-06-09T22:50:34
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = HelloOpenCV
TEMPLATE = app

SOURCES += main.cpp\
widget.cpp

HEADERS += widget.h

FORMS += widget.ui

INCLUDEPATH += F:\opencv\opencv\build\x86\mingw482\install\include
INCLUDEPATH += F:\opencv\opencv\build\x86\mingw482\install\include\opencv
INCLUDEPATH += F:\opencv\opencv\build\x86\mingw482\install\include\opencv2

LIBS+=F:\opencv\opencv\build\x86\mingw482\lib\libopencv_calib3d249.dll.a\
F:\opencv\opencv\build\x86\mingw482\lib\libopencv_contrib249.dll.a\
F:\opencv\opencv\build\x86\mingw482\lib\libopencv_core249.dll.a\
F:\opencv\opencv\build\x86\mingw482\lib\libopencv_features2d249.dll.a\
F:\opencv\opencv\build\x86\mingw482\lib\libopencv_flann249.dll.a\
F:\opencv\opencv\build\x86\mingw482\lib\libopencv_gpu249.dll.a\
F:\opencv\opencv\build\x86\mingw482\lib\libopencv_highgui249.dll.a\
F:\opencv\opencv\build\x86\mingw482\lib\libopencv_imgproc249.dll.a\
F:\opencv\opencv\build\x86\mingw482\lib\libopencv_legacy249.dll.a\
F:\opencv\opencv\build\x86\mingw482\lib\libopencv_ml249.dll.a\
F:\opencv\opencv\build\x86\mingw482\lib\libopencv_objdetect249.dll.a\
F:\opencv\opencv\build\x86\mingw482\lib\libopencv_video249.dll.a


PATH添加

运行结果

但是生成的exe文件是可以执行的
黄色部分的dll是我自己添加的



被这个问题卡了一天了,opencv编译了两次,换了几个Qt版本,电脑也重装了一遍。。。
就是一直Crashed
到底是什么原因啊,再之前配置过VS10+Qt+opencv是没有任何问题的


QtCreator设置





...全文
2953 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 10 楼 Emb_2333 的回复:
这个我也遇到过。配制好.pro文件之后,把opencv的.dlll文件复制到debug(如果你用的是dubug构建的话)的同一目录下就能正常运行了。

完美,谢谢大佬
彩色刷 2020-05-07
  • 打赏
  • 举报
回复
引用 10 楼 Emb_2333 的回复:
这个我也遇到过。配制好.pro文件之后,把opencv的.dlll文件复制到debug(如果你用的是dubug构建的话)的同一目录下就能正常运行了。
谢谢大佬
weixin_45214908 2020-05-04
  • 打赏
  • 举报
回复
引用 13 楼 啦啾啾啾木 的回复:
[quote=引用 12 楼 weixin_45214908 的回复:] [quote=引用 11 楼 啦啾啾啾木 的回复:] [quote=引用 10 楼 Emb_2333 的回复:] 这个我也遇到过。配制好.pro文件之后,把opencv的.dlll文件复制到debug(如果你用的是dubug构建的话)的同一目录下就能正常运行了。
引用10楼的方法成功了[/quote] 老哥可以详细讲解一下过程吗,我纯新手不太明白具体的操作。万分感谢。[/quote] 你去看看你的项目文件夹下,看看有没有一个(build-你的项目名-...)的一个文件夹,我的是(build-opencvtest-Desktop_Qt_5_5_1_MinGW_32bit-Debug)。如果有,点进去debug文件夹,将你已经构建完了的opencv的所有.dlll文件复制到debug文件夹下,之后再运行就好了[/quote] 老哥可以加一下QQ吗,576156845
啦啾啾啾木 2020-05-04
  • 打赏
  • 举报
回复
引用 12 楼 weixin_45214908 的回复:
[quote=引用 11 楼 啦啾啾啾木 的回复:] [quote=引用 10 楼 Emb_2333 的回复:] 这个我也遇到过。配制好.pro文件之后,把opencv的.dlll文件复制到debug(如果你用的是dubug构建的话)的同一目录下就能正常运行了。
引用10楼的方法成功了[/quote] 老哥可以详细讲解一下过程吗,我纯新手不太明白具体的操作。万分感谢。[/quote] 你去看看你的项目文件夹下,看看有没有一个(build-你的项目名-...)的一个文件夹,我的是(build-opencvtest-Desktop_Qt_5_5_1_MinGW_32bit-Debug)。如果有,点进去debug文件夹,将你已经构建完了的opencv的所有.dlll文件复制到debug文件夹下,之后再运行就好了
weixin_45214908 2020-05-04
  • 打赏
  • 举报
回复
引用 11 楼 啦啾啾啾木 的回复:
[quote=引用 10 楼 Emb_2333 的回复:] 这个我也遇到过。配制好.pro文件之后,把opencv的.dlll文件复制到debug(如果你用的是dubug构建的话)的同一目录下就能正常运行了。
引用10楼的方法成功了[/quote] 老哥可以详细讲解一下过程吗,我纯新手不太明白具体的操作。万分感谢。
啦啾啾啾木 2020-03-02
  • 打赏
  • 举报
回复
引用 10 楼 Emb_2333 的回复:
这个我也遇到过。配制好.pro文件之后,把opencv的.dlll文件复制到debug(如果你用的是dubug构建的话)的同一目录下就能正常运行了。
引用10楼的方法成功了
Emb_2333 2020-02-18
  • 打赏
  • 举报
回复 1
这个我也遇到过。配制好.pro文件之后,把opencv的.dlll文件复制到debug(如果你用的是dubug构建的话)的同一目录下就能正常运行了。
lylg1 2019-08-15
  • 打赏
  • 举报
回复
我也遇到了同样问题,是配置的问题!在Pro中将debug与release的链接库分开放置:如下:
在pro中使用如下配置(安装地址换成你所安装的位置)!希望能帮到你或其他小伙伴。
INCLUDEPATH += G:\build\install\include  #头文件位置

CONFIG(debug, debug|release): { #这样写是解决问题的关键
LIBS += -LG:\build\install\x86\mingw\bin
} else:CONFIG(release, debug|release): {
LIBS += -LG:\build\install\x86\mingw\lib
}



shihaidong722 2018-04-12
  • 打赏
  • 举报
回复
电脑环境变量要添加编译好的opencv的bin目录和lib目录
sheng199463 2017-12-02
  • 打赏
  • 举报
回复
楼主解决了吗,我也是这个问题
Billow_rtmiao 2016-08-04
  • 打赏
  • 举报
回复
请问楼主解决该问题了吗?
liu15073458538 2016-06-10
  • 打赏
  • 举报
回复
引用 2 楼 dext 的回复:
自己重新编译一下OpenCV 应该就好了
版主 如果重新编译那又该怎么做? 我的过程很简单 cmake2.8 编译用mingw482 然后mingw32 make和mingw32 install 就这样编译完了,这其中有问题吗?还是有更好的编译方法?
liu15073458538 2016-06-10
  • 打赏
  • 举报
回复
引用 2 楼 dext 的回复:
自己重新编译一下OpenCV 应该就好了
第一次编译的时候,好像有点问题,一大段白色文字,好像是错误还是警告,因为我用的是Qt5.6带的mingw492编译的 第二次换成mingw482没有出现什么特殊的东西出来,就是一段白色的文字
liu15073458538 2016-06-10
  • 打赏
  • 举报
回复
引用 2 楼 dext 的回复:
自己重新编译一下OpenCV 应该就好了
还要在编译,已经编译两次了,不会是这个与原因吧
dext 2016-06-10
  • 打赏
  • 举报
回复
自己重新编译一下OpenCV 应该就好了
liu15073458538 2016-06-09
  • 打赏
  • 举报
回复
但是一个普通的Qt项目是没有问题的,一加上opencv就Crash
连调试都无法进行,但是普通Qt项目也是可以的

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧