1.准备工作,参考上两篇
https://blog.csdn.net/u011171361/article/details/106604408,
https://blog.csdn.net/u011171361/article/details/106303216
2.cmake配置
C:E:/Qt/Qt5.12.3/Tools/mingw730_64/bin/gcc.exe
C++:E:/Qt/Qt5.12.3/Tools/mingw730_64/bin/g++.exe
3.选项配置
WITH_QT 勾选
WITH_OPENGL 勾选
BUILD_opencv_world 不勾选(勾选将不编译opencv_contrib,这里勾选要编译)
BUILD_opencv_rgbd 不勾选
ENABLE_PRECOMPILED_HEADERS 不勾选
TEST相关的不选
BUILD_PERF_TESTS 不勾选
BUILD_TESTS 不勾选
BUILD_opencv_phthon_tests 不勾选
CMAKE_BUILD_TYPE Release
配置额外的模块路径
OPENCV_EXTRA_MODULES_PATH F:/opencv/qtcreator/opencv-4.2.0/opencv_contrib/modules
Qt路径配置为mingw73_64的路径
具体见下图。。。
可能出现的错误,引用:https://blog.csdn.net/Amiao_89/article/details/106540839
错误1:
如果出现dynafu.cpp的错误,BUILD_opencv_rgbd与WITH_OPENGL只能勾选其一。
Linking CXX shared library …\bin\libopencv_world430.dll
CMakeFiles\opencv_world.dir/objects.a(zoomableimage.cpp.obj):zoomableimage.cpp:(.text$_ZN3cvv6qtutil13ZoomableImage14emitUpdateAreaEv+0x61): undefined reference to `cvv::qtutil::ZoomableImage::updateArea(QRectF, double) const’
BUILD_opencv_world"(不勾选,如果不编译opencv_contrib则勾选)
错误2
[ 33%] Built target libtiff
E:/Qt/Qt5.14.2/Tools/mingw730_64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: i386 architecture of input file `CMakeFiles\opencv_core.dir/objects.a(vs_version.rc.obj)' is incompatible with i386:x86-64 output
collect2.exe: error: ld returned 1 exit status
mingw32-make[2]: *** [modules\core\CMakeFiles\opencv_core.dir\build.make:1693: bin/libopencv_core420.dll] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:2351: modules/core/CMakeFiles/opencv_core.dir/all] Error 2
mingw32-make: *** [Makefile:182: all] Error 2
F:\opencv\qtcreator\opencv-4.2.0\build>mingw32-make clear
mingw32-make: *** No rule to make target 'clear'. Stop.
:
解决方法
4.编译安装
1.打开Qt 5.14.2 (MinGW 7.3.0 64-bit)
2.进入编译目录,输入mingw32-make -j8
F:\opencv\qtcreator\opencv-4.2.0\build>mingw32-make -j8
3.mingw32-make install
收工。。。。