【发布时间】:2016-04-05 15:48:07
【问题描述】:
我的目标是在 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”错误吗?
【问题讨论】:
-
我刚刚注意到包含
imshow("windowname", img)的非常简单代码的Qt 控制台应用程序也崩溃了。请注意,其他 opencv 功能(如 Mat 类型、imread、...)运行良好。
标签: c++ qt crash segmentation-fault opencv3.0