在Qt 4.8.0中使用OpenCV 2.3.1时,应用程序在启动时崩溃

在Qt 4.8.0中使用OpenCV 2.3.1时,应用程序在启动时崩溃,qt,opencv,crash,Qt,Opencv,Crash,我试图用OpenCV函数控制我的相机。构建过程很好,但是,当我试图运行我的程序时,它崩溃了,Qt只提供了关于退出代码-1073741515的信息。我尝试使用OpenCV函数对所有代码进行注释,程序似乎还可以。我包括的图书馆是不是错了 opencv.pro QT += core gui TARGET = opencv TEMPLATE = app SOURCES += main.cpp\ mainwindow.cpp HEADERS += mainwindow

我试图用OpenCV函数控制我的相机。构建过程很好,但是,当我试图运行我的程序时,它崩溃了,Qt只提供了关于退出代码-1073741515的信息。我尝试使用OpenCV函数对所有代码进行注释,程序似乎还可以。我包括的图书馆是不是错了

opencv.pro

QT       += core gui

TARGET = opencv
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

INCLUDEPATH += F:/opencv/build/include
INCLUDEPATH += F:/opencv/build/include/opencv

LIBS += F:/opencv/build/x86/mingw/lib/libopencv_calib3d231.dll.a
LIBS += F:/opencv/build/x86/mingw/lib/libopencv_contrib231.dll.a
LIBS += F:/opencv/build/x86/mingw/lib/libopencv_core231.dll.a
LIBS += F:/opencv/build/x86/mingw/lib/libopencv_features2d231.dll.a
LIBS += F:/opencv/build/x86/mingw/lib/libopencv_flann231.dll.a
LIBS += F:/opencv/build/x86/mingw/lib/libopencv_gpu231.dll.a
LIBS += F:/opencv/build/x86/mingw/lib/libopencv_highgui231.dll.a
LIBS += F:/opencv/build/x86/mingw/lib/libopencv_imgproc231.dll.a
LIBS += F:/opencv/build/x86/mingw/lib/libopencv_legacy231.dll.a
LIBS += F:/opencv/build/x86/mingw/lib/libopencv_ml231.dll.a
LIBS += F:/opencv/build/x86/mingw/lib/libopencv_objdetect231.dll.a
LIBS += F:/opencv/build/x86/mingw/lib/libopencv_video231.dll.a
main window.cpp

由于MainWindow.cpp很长,我将只在这里粘贴构造函数,并在需要时添加其余的构造函数

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    cam = NULL;
    frame = NULL;
    timer = new QTimer;
    imag = new QImage();
    connect(timer,SIGNAL(timeout()),this,SLOT(readFrame()));
    connect(ui->open,SIGNAL(clicked()),this,SLOT(openCamara()));
    connect(ui->pic,SIGNAL(clicked()),this,SLOT(takingPictures()));
    connect(ui->closeCam,SIGNAL(clicked()),this,SLOT(closeCamara()));
}

终于开始工作了!当我试图从Windows资源管理器运行应用程序时,它抱怨缺少libstdc++-6.dll。虽然在C:\QtSDK\mingw\bin下存在,但其版本对于OpenCV 2.3不正确(或任何其他原因?),并将导致错误。我从中获得了一个指针,程序运行正常。

您可能在未初始化的情况下使用了某些指针。@karlphillip I init构造函数中插槽函数使用的所有指针。