Ошибка связывания Qt и OpenCV - неопределенная ссылка в mat.inl.hpp - PullRequest
0 голосов
/ 24 октября 2019

Я использую Qt Creator с его системой Qmake. Я на Windows 10 и использую MinGW.
Я хочу добавить несколько библиотек в свой проект, и opencv находится в списке.
Это мой .pro-файл:

QT       += core gui 3dcore 3drender 3dextras multimedia multimediawidgets

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++11

SOURCES += \
main.cpp \
mainwindow.cpp \
paintedtextureimage.cpp \
scenemodifier.cpp

HEADERS += \
mainwindow.h \
paintedtextureimage.h \
scenemodifier.h

FORMS += \
mainwindow.ui

qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

win32: LIBS += -L'C:/Program Files (x86)/Intel RealSense SDK 2.0/lib/x64/' -lrealsense2

INCLUDEPATH += 'C:/Program Files (x86)/Intel RealSense SDK 2.0/include/'
DEPENDPATH += 'C:/Program Files (x86)/Intel RealSense SDK 2.0/include/'

win32:CONFIG(release, debug|release): LIBS += - 
L$$PWD/../../../Tools/OpenCV/opencv/build/x64/vc15/lib/ -lopencv_world411
else:win32:CONFIG(debug, debug|release): LIBS += - 
L$$PWD/../../../Tools/OpenCV/opencv/build/x64/vc15/lib/ -lopencv_world411d
else:unix: LIBS += -L$$PWD/../../../Tools/OpenCV/opencv/build/x64/vc15/lib/ -lopencv_world411

INCLUDEPATH += $$PWD/../../../Tools/OpenCV/opencv/build/include
DEPENDPATH += $$PWD/../../../Tools/OpenCV/opencv/build/include

Это былогенерируется автоматически при добавлении библиотек в GUI. Я использую двоичные файлы OpenCV с сайта, поэтому у меня есть этот opencv_world411.lib вместо нескольких разных .lib для модулей.

Теперь, когда я

#include <opencv2/opencv.hpp>

в своем коде и пытаюсьделать

cv::Mat mat;

Это дает мне ошибки:
неопределенная ссылка на cv :: fastFree (void *)
неопределенная ссылка на cv :: Mat :: deallocate ()

Что я не так сделал?

1 Ответ

0 голосов
/ 24 октября 2019

Получил решение. Я использовал opencv для компилятора, но нужен для MinGW.

...