链接错误Opencv Qt'_ZN2cv6String10deallocateEv

时间:2017-11-04 00:56:51

标签: c++ qt opencv

我正在尝试使用opencv使qt程序无效。 Qt,独自工作。并且opencv单独工作(在Eclipse中)。

这是我在mainwindow.cpp文件中非常简单的C代码:

Print( $"{x} ~ {y} ~ {z}" );

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

#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;
}

最糟糕的(或最好的)结束,我可怕的错误:

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

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

谢谢,

1 个答案:

答案 0 :(得分:0)

解除遗失的符号:

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

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