OpenCV简单代码编译成功但在运行时崩溃

时间:2016-04-05 15:48:07

标签: c++ qt crash segmentation-fault opencv3.0

我的目标是在Qt 5.5.1中运行一个简单的OpenCV贡献(额外)模块。

步骤:

1)创建了一个Qt应用程序应用程序;

2)将main.cpp文件更改为:

#include <QApplication>
#include <opencv2/core/utility.hpp>
#include <opencv2/tracking.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
#include <cstring>
#include <QDebug>

using namespace std;
using namespace cv;

int main(int argc, char*argv[])
{
    qDebug() <<"start!" << endl;

    QApplication a(argc, argv);

    string trackingAlg = "KCF";
    MultiTracker trackers(trackingAlg);

    qDebug() <<"success!" << endl;

    return a.exec();
}

这是我的.pro文件:

QT       += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = tracker4

CONFIG += c++11

TEMPLATE = app
SOURCES += main.cpp

INCLUDEPATH += /usr/local/include/opencv

LIBS += `pkg-config opencv --libs`
LIBS += -L/usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_highgui -lopencv_videoio -lopencv_tracking

程序编译成功,但在运行时,它甚至没有运行main()函数就崩溃了。当我在Code :: Blocks中运行时,我没有收到这样的错误,但在Qt中我仍然遇到这个问题。

我正在使用Qt 5.5.1和Ubuntu 14.04。

任何人都可以生成这个&#34; seg fault&#34;他/她的机器出错了?

1 个答案:

答案 0 :(得分:0)

对于QT 5,使用QT = OFF构建OpenCV。 对于QT 4,使用QT = ON构建OpenCV。