簡體   English   中英

鏈接錯誤Opencv Qt'_ZN2cv6String10deallocateEv

[英]Linking Error Opencv Qt '_ZN2cv6String10deallocateEv

我正在嘗試使qt程序與opencv一起使用而沒有成功。 Qt,單獨工作。 僅opencv可以工作(在Eclipse中)。

這是來自mainwindow.cpp文件的非常簡單的C代碼:

#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 + = core 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混合對象或庫。 我將檢查您的系統,並確保僅安裝了一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM