Система: Windows 7 x64. QT: QT 5.1.0 x32;
компилятор mingw 4.8 x32
в системной переменной PATH прописал путь к папке bin (пути к полученным dll opencv в ходе компиляции)
Запускается D:\qt-workspace\hello_opencv\test3\build-test3-Desktop_Qt_5_1_0_MinGW_32bit-Debug\debug\test3.exe...
Программа неожиданно завершилась.
D:\qt-workspace\hello_opencv\test3\build-test3-Desktop_Qt_5_1_0_MinGW_32bit-Debug\debug\test3.exe завершился с кодом -1073741819
генерировал конфиги при помощи cmake 2.8.11.2 меняя настройки: WITH_OPENGL - enabled, WITH_QT - enabled
процессорные расширения команд sse сверял с утилитой cpu-z
собирал командами mingw32-make
mingw32-make install
ошибок не было
pro-файл:#-------------------------------------------------
#
# Project created by QtCreator 2013-07-29T15:12:23
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = test3
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
INCLUDEPATH += D:\qt-workspace\libs\opencv\include
INCLUDEPATH += D:\qt-workspace\libs\opencv\include\opencv
INCLUDEPATH += D:\qt-workspace\libs\opencv\include\opencv2
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_calib3d246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_contrib246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_core246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_features2d246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_flann246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_gpu246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_highgui246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_imgproc246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_legacy246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_ml246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_nonfree246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_objdetect246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_photo246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_stitching246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_superres246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_ts246.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_video246.dll.a
LIBS += D:\\qt-workspace\libs\opencv\lib\libopencv_videostab246.dll.a
пробовал брать либы из папки install/lib и использовал укороченный синтаксис с "l" "L", но также эффекта не дало
и прописывал к самим dll в папке bin
пробовал менять описание путей динамических либ (брал собранные под mingw либы из библиотеки):
#OPENCV = D:/opencv
#OPENCV_LIB = $$OPENCV/build/x86/mingw/lib
#INCLUDEPATH += $$OPENCV/build/include/opencv $$OPENCV/build/include
#QMAKE_LIBDIR += $$OPENCV_LIB
##CONFIG(debug, debug|release) {
# LIBS += $$files($$OPENCV_LIB/*241d.lib)
#} else {
# LIBS += $$files($$OPENCV_LIB/*241.lib)
#}
файл mainwindow.h#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
файл mainwindow.cpp#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <opencv2/opencv.hpp>
using namespace cv;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
Mat image;
image = cvLoadImage("D:\flowers.jpg");
}
MainWindow::~MainWindow()
{
delete ui;
}
ps: до этого подключал OpenCV к CodeBlocks без библиотеки QT проблем не было.
Почему необходимо QT: gui приложения предполагаем писать на QT.