链接错误 Opencv Qt '_ZN2cv6String10deallocateEv



我试图让一个qt程序与opencv一起工作,但没有成功。Qt,单独工作。只有opencv可以工作(在Eclipse中)。

这是我从主窗口中非常简单的 C 代码.cpp文件:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <opencv2/opencv.hpp>
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{
   ui->setupUi(this);
   cv::Mat image = cv::imread("my_image.png");
   cv::imshow("Display", image);
}
MainWindow::~MainWindow()
{
   delete ui;
}

现在我的qmake文件可能存在问题,因为链接: QT += 核心 GUI

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = test
TEMPLATE = app
INCLUDEPATH += /usr/local/include/opencv
SOURCES += main.cpp
           mainwindow.cpp
HEADERS  += mainwindow.h
FORMS    += mainwindow.ui
LIBS += -L/usr/local/lib 
        -lopencv_core 
        -lopencv_highgui 
        -lopencv_imgcodecs
最后最

糟糕(或最好的)是我的可怕错误:

warning: libopencv_core.so.3.3, needed by /usr/local/lib/libopencv_imgcodecs.so, may conflict with libopencv_core.so.2.4

error: error adding symbols: DSO missing from command line /usr/local/lib/libopencv_core.so.3.3:
error: collect2: error: ld returned 1 exit status

真的希望有人能阅读我的信息并提供解决方案。也许最好的应该是卸载并重新安装opencv或qt,我不知道。

谢谢

拆除缺失的符号:

$ c++filt -n _ZN2cv6String10deallocateEv
cv::String::deallocate()

您似乎正在使用opencv2和opencv3混合对象或库。我会检查您的系统并确保只安装了一个。

相关内容

  • 没有找到相关文章

最新更新