Qt+Opencv配置

    xiaoxiao2021-12-14  18

    在Win7(32)位下:

    1、版本:

        Qt版本:qt-opensource-windows-x86-android-5.5.1.exe

        链接地址:http://download.qt.io/archive/qt/5.5/5.5.1/

        OpenCV版本:OpenCV2.4.1

    2、安装好Qt之后,将D:\Program Files\opencv\build\x86\vc10\bin,D:\qt\5.5\mingw492_32\bin的路径添加到Path中,在创建工程的时候,向工程     .pro文件中添加:

      INCLUDEPATH+="D:/Program Files/opencv/build/include" \

    "D:/Program Files/opencv/build/include/opencv" \ "D:/Program Files/opencv/build/include/opencv2" LIBS+= -L"D:/Program Files/opencv/build/x86/vc10/lib/" -lopencv_ml2411d -lopencv_calib3d2411d -lopencv_contrib2411d -lopencv_core2411d \ -lopencv_features2d2411d -lopencv_flann2411d -lopencv_gpu2411d -lopencv_imgproc2411d -lopencv_legacy2411d -lopencv_objdetect2411d \ -lopencv_ts2411d -lopencv_video2411d -lopencv_nonfree2411d -lopencv_ocl2411d -lopencv_photo2411d -lopencv_stitching2411d \ -lopencv_superres2411d -lopencv_videostab2411d -lopencv_highgui2411d

      表达式的第一部分(-L...):使链接器知道应该在哪个目录中查找库文件。双引号只在路径包含空格时才需要。

      表达式的第二部分(-l...):告诉链接器链接哪些库,没有必要指定 .lib 扩展名。

    3、main.cpp如下: #include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> using namespace cv; int main() { IplImage *src = cvLoadImage("Example1.png", -1); cvShowImage("src", src); cvWaitKey(0); cvReleaseImage(&src); return 0; } 并把Example1.png图片拷贝到Debug目录下,可以正常打开图片,但是将main.cpp函数改成以下: #include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> using namespace cv; int main() { /* IplImage *src = cvLoadImage("Example1.png", -1); cvShowImage("src", src); cvWaitKey(0); cvReleaseImage(&src);*/ Mat src = imread("Example1.png", 0); imshow("src", src); waitKey(0); return 0; } 编译出现错误:

    debug/main.o: In function `main':

    C:\Users\Administrator.AZU9F7UB7BS30XB\Desktop\test\build-55y-Desktop_Qt_5_5_1_MinGW_32bit-Debug/../55y/main.cpp:11: undefined reference to `cv::imread(std::string const&, int)'

    C:\Users\Administrator.AZU9F7UB7BS30XB\Desktop\test\build-55y-Desktop_Qt_5_5_1_MinGW_32bit-Debug/../55y/main.cpp:12: undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'

    C:\Users\Administrator.AZU9F7UB7BS30XB\Desktop\test\build-55y-Desktop_Qt_5_5_1_MinGW_32bit-Debug/../55y/main.cpp:12: undefined reference to `cv::imshow(std::string const&, cv::_InputArray const&)'

    C:\Users\Administrator.AZU9F7UB7BS30XB\Desktop\test\build-55y-Desktop_Qt_5_5_1_MinGW_32bit-Debug/../55y/main.cpp:13: undefined reference to `cv::waitKey(int)'

    debug/main.o: In function `ZN2cv3MatD1Ev':

    D:/Program Files/opencv/build/include/opencv2/core/mat.hpp:278: undefined reference to `cv::fastFree(void*)'

    debug/main.o: In function `ZN2cv3Mat7releaseEv':

    D:/Program Files/opencv/build/include/opencv2/core/mat.hpp:367: undefined reference to `cv::Mat::deallocate()'

    collect2.exe: error: ld returned 1 exit status

    Makefile.Debug:77: recipe for target 'debug\55y.exe' failed

    mingw32-make[1]: *** [debug\55y.exe] Error 1

    mingw32-make[1]: Leaving directory 'C:/Users/Administrator.AZU9F7UB7BS30XB/Desktop/test/build-55y-Desktop_Qt_5_5_1_MinGW_32bit-Debug'

    makefile:34: recipe for target 'debug' failed

    mingw32-make: *** [debug] Error 2

    14:42:15: 进程"D:\qt\Tools\mingw492_32\bin\mingw32-make.exe"退出,退出代码 2 。

    Error while building/deploying project 55y (kit: Desktop Qt 5.5.1 MinGW 32bit)

    When executing step "Make"

    说明编译器找不到lib库文件,opencv2中新添加函数和结构不能用,例如:Mat结构,imread函数,VideoCapture结构等;

    转载请注明原文地址: https://ju.6miu.com/read-963813.html

    最新回复(0)