I want to link OpenCV in Qt. I do all steps that are here completely and it was successful for every steps. but now I have some errors that is answered here for Linux but I couldn't find the answer for Windows.
Here is a sample of my code:
main.cpp
#include <opencv2/opencv.hpp>
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
int main(int argc, char *argv[])
{
cv::Mat input;
input = cv::imread("C:\\Users\\IS UEFI\\Desktop\\pelak_khali.jpg");
QApplication a(argc, argv);
QString plate = "";
MainWindow w(plate);
w.show();
std::thread thread(chenges_on_plate, &w);
int rc = a.exec();
thread.join(); // wait for the thread to finish
return rc;
}
.pro file
INCLUDEPATH += D:\QtCommercial\opencv\opencv\build\include
CONFIG(release,debug|release)
{
LIBS += D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_calib3d2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_contrib2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_core2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_features2d2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_flann2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_gpu2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_highgui2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_imgproc2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_legacy2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_ml2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_nonfree2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_objdetect2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_ocl2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_photo2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_stitching2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_superres2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_ts2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_video2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_videostab2411.lib
}
CONFIG(debug,debug|release)
{
LIBS += D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_calib3d2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_contrib2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_core2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_features2d2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_flann2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_gpu2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_highgui2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_imgproc2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_legacy2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_ml2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_nonfree2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_objdetect2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_ocl2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_photo2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_stitching2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_superres2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_ts2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_video2411.lib \
D:\QtCommercial\opencv\opencv\build\x86\vc10\lib\opencv_videostab2411.lib
}
I am linking all of the libraries and I use "/" instead of "\" but it doesn't work too.
I do so many ways for fixed it but they couldn't help me unfortunately.
Here is my errors:
error: undefined reference to `cv::imread(std::string const&, int)'
error: undefined reference to `cv::fastFree(void*)'
error: undefined reference to `cv::Mat::copySize(cv::Mat const&)'
error: undefined reference to `cv::Mat::deallocate()'
Thanks before your helps.