2016-04-05 136 views
0

我的目標是在Qt 5.5.1中運行一個簡單的OpenCV貢獻(額外)模塊。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」錯誤嗎?

+0

我剛剛注意到,包含'imshow(「windowname」,img)'的簡單代碼的Qt控制檯應用程序也崩潰了。請注意,其他opencv功能(如Mat類型,imread,...)工作良好。 – mask

回答

0

對於QT 5,使用QT = OFF構建OpenCV。 對於QT 4,使用QT = ON構建OpenCV。