使用OpenCV在QTCreator上进行分段故障

时间:2013-12-03 01:12:57

标签: c++ opencv segmentation-fault qt-creator

我正在使用以下程序测试QTCreator IDE:

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

int main(){

    cv::imshow("My Image", 0);
    cv::waitKey(0);

    return 0;
}

如果我执行以下操作:

g++ -ggdb `pkg-config --cflags opencv` main.cpp `pkg-config --libs opencv`

程序正常运行。但是,如果我使用.pro文件并且我做了一个make,我有一个sefault错误。 .pro如下:

QT       += core

QT       -= gui

TARGET = qtTest
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp

INCLUDEPATH += "/usr/local/include/opencv2"

LIBS += `pkg-config --cflags --libs opencv`

2 个答案:

答案 0 :(得分:0)

几年前我遇到过类似的问题。我不知道如何以及为什么,但这有助于我。在.pro文件中尝试使用

CONFIG += link_pkgconfig
PKGCONFIG += opencv

而不是

LIBS += `pkg-config --cflags --libs opencv`

修改

我怀疑,你的模式有所不同:正常或调试。我认为错误是正确的,但在调试模式下,它以某种方式通过。

因此尝试在QT中以调试模式编译并运行程序(我希望程序能够正确运行)。此外,为了进行比较,尝试使用g++编译和运行您的程序,但没有选项-ggdb,我认为您将收到该错误。

答案 1 :(得分:0)

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