Qt+OpenCV+Win10安装注意事项

注:系统:Windows 10 64位;
      Qt 版本:Qt 5.10.1;
      OpenCV版本:OpenCV 3.3.1;
      文中涉及的路径仅供参考,以实际路径为准。
     
1、安装目录不能有空格,不能有中文。
2、安装Qt。
3、安装完Qt后配置环境变量。path:E:\Qt_x64\Qt5.10.1\Tools\mingw530_32\bin 。
4、安装OpenCV。
5、安装CMake。
6、CMake配置:
(1)路径选择:
        source code:          D:/opencv_x64/opencv/sources
        build the binaries:  D:/opencv_build4Qt_x64
(2)configure
(3)选:MinGW Makefiles
        选:第二个   Specify native compilers
(4)配置C和C++编译器路径
        C:  C:\Qt\Qt5.5.0\Tools\mingw492_32\bin\gcc.exe
        C++: C:\Qt\Qt5.5.0\Tools\mingw492_32\bin\g++.exe
(5)finish
(6)勾选:   WITH_OPENGL
                     WITH_QT
                     ENABLE_CXX11
        不勾选:WITH_IPP
                     ENABLE_PRECOMPILED_HEADERS
                     WITH_CUDA
                     BUILD_opencv_ts
                     与“python2”、"python3"相关的都不勾选
(7)为防止后面编译出错,而规避一些问题,对source文件做以下修改:
       <1> 修改E:\OpenCV_3.3.1\opencv\sources\modules\videoio\src\cap_dshow.cpp文件,在#include "DShow.h"这行的上面加一行        #define NO_DSHOW_STRSAFE
       <2>(暂时不改)打开E:\MinGW-w64\x64-4.8.1-release-posix-seh-rev5\mingw64\x86_64-w64-mingw32\include\aviriff.h
             发现第一行的多行注释少了个/符号,加上保存。
            关于MinGW-64以及OpenCV 4.0 的修改参考以下博文:
            https://blog.csdn.net/huihut/article/details/81317102
       <3> 转到opencv源所在的存储库, 找到 C:/opencv/sources/Cmake/OpenCVCompilerOptions.cmake,将下面这一行注释掉:
              add_extra_compiler_option(-Werror = non-virtual-dtor)
              即改为:#add_extra_compiler_option(-Werror = non-virtual-dtor)

(8)选择Qt路径
        设置 QT_MAKE_EXECUTABLE 为 E:\Qt\Qt5.9.3\5.9.3\mingw53_32\bin\qmake.exe

        设置 Qt5Concurrent_DIR 为 E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5Concurrent

        设置 Qt5Core_DIR 为 E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5Core

        设置 Qt5Gui_DIR 为 E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5Gui

        设置 Qt5Test_DIR 为 E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5Test

        设置 Qt5Widgets_DIR 为 E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5Widgets

        设置 Qt5OpenGL_DIR 为 E:\Qt\Qt5.9.3\5.9.3\mingw53_32\lib\cmake\Qt5OpenGL

        设置 CMAKE_BUILD_TYPE 为 Release 或者 RelWithDebInfo
(9)不停configure直到不出现红色框
        Generate
7、编译OpenCV
        在编译生成的文件夹空白处按shift+右键,或者在cmd里切换到指定的路径,执行下面的命令,此处的路径即6.1的路径(D:/opencv_build4Qt_x64):
        mingw32-make
        mingw32-make install
8、添加新生成的bin到Path环境变量
     把编译后,目标目录下的bin目录路径,即E:\Software\QT\OpencvBuild\bin  添加到Path环境变量中。

9、将OpenCV需要的库放到相应的文件夹下,新建OpenCV文件夹。
     将D:\OpenCV\OpenCV3300\build下的“include”、“lib”、“bin”文件夹拷过来。 
     拷相应的dll到debug(或release)里面,以后需要什么都可以拷到这里面。


第7步遇到的一些错误:
modules\videoio\CMakeFiles\opencv_videoio.dir\build.make:173: recipe for target 'modules/videoio/CMakeFiles/opencv_videoio.dir/all' failed
opencv\sources\3rdparty\include\ffmpeg_: No such file or directory            (安装路径中有空格)
'modules/videoio/CMakeFiles/opencv_videoio.dir/vs_version.rc.obj' failed
CMake Error at cmake/OpenCVFindLibsVideo.cmake:221
Cmake 编译OpenCV3.1.0过程中出现如下错误: 
CMake Error: CMake was unable to find a build program corresponding to “MinGW Makefiles”. CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. 
解决办法:MinGW没有找到,需要重新配置环境变量,指定Qt安装目录下MinGW位置,如…/Qt5.10.1/Tools/mingw530_32/bin/mingw32-make.exe。

cmath:1119:11: error: '::hypot' has not been declared using ::hypot;
计算机中安装有Python库时会出现此问题,解决办法是配置cmake的时候取消与"Python2"、"Python3"相关的选项并且删除相关的路径
 

猜你喜欢

转载自blog.csdn.net/u014726567/article/details/84345107