OpenCV libQtCore.so.4 DSO丢失

时间:2017-02-20 23:59:08

标签: qt opencv makefile linker-errors

对于一些快速背景,我在Ubuntu 14.04上有OpenCV 2.4.11。我在OSX上编译时没有任何问题,所以我已经移植到了试图让它在Linux上运行。

在尝试编译一个非常简单的OpenCV cpp应用程序时,我从命令行中丢失了DSO - 如下所示:

#define USE_OPENCV
#include <cstring>
#include <cstdlib>
#include <vector>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <algorithm>
#include <memory>
#include <utility>

using namespace std;


int main (int argc, char** argv){

    cv::Mat img = cv::imread("/home/roots/Matt/RCME/Data/Data_256/0/000000.jpg");
    cv::imshow("image", img);
    cv::waitKey(0);
    return 0;
}

这是我正在使用的Makefile

CC = g++ -std=c++11

LFLAGS = $(`pkg-config --cflags --libs opencv`)  -L/usr/local/cuda-7.5/lib64 -L $(QTLIB)

INCLUDES = -L $(QTINC)
all: main

main: classify.cpp
    $(CC) -o classify classify.cpp $(LFLAGS) `pkg-config --cflags --libs opencv` `pkg-config --cflags --libs protobuf` $(INCLUDES) -lQtCore -lQtGui

以下是我运行make时终端吐出的内容

make
g++ -std=c++11 -o classify classify.cpp   -L/usr/local/cuda-7.5/lib64 -L  `pkg-config --cflags --libs opencv` `pkg-config --cflags --libs protobuf` -L  -lQtCore -lQtGui
/usr/bin/ld: /usr/local/lib/libopencv_highgui.a(window_QT.cpp.o): undefined reference to symbol '_ZN7QObject10childEventEP11QChildEvent'
//usr/lib/x86_64-linux-gnu/libQtCore.so.4: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [main] Error 1

任何人对如何处理此事都有任何建议?我正在链接(至少我认为我)到lQtCore和lQtGui,为什么我仍然看到DSO错误?

0 个答案:

没有答案