我的目标是在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。
任何人都能在他/她的机器中生成这个"seg fault"错误吗?
对于QT 5,构建QT=OFF的OpenCV。对于QT 4,构建QT=ON的OpenCV。