注:系统:Windows 10 64位; Qt 版本:Qt4.8.5(qt-win-opensource-4.8.5-mingw.exe,MinGW-gcc440); OpenCV版本:OpenCV 2.4.3; 1、安装4.8.5 注意Qt4.8.5只能用MinGW-gcc440,其他高版本不兼容这是笔者血与泪的教训; 双击下载好的 qt-win-opensource-4.8.5-mingw.exe. 会出现一系列的对话框....... 在出现的choose install location的对话框, 选择 Qt Libraries 的 安装目录。我以 C:\Qt\4.8.5 为例 在出现的 MinGw Installation 对话框, 选择在上面出现的mingw 文件夹路径-C:Qt\mingw-gcc440(MinGW-gcc440实际上我下载的是个压缩包,为便于设置我直接将其解压到C:\Qt\mingw-gcc440) 2、配置环境变量 在系统环境变量中的path 添加以下路径 C:\Qt\mingw-gcc440\bin;C:\Qt\4.8.5\bin;C:\Qt\qtcreator-3.0.0\bin 建议在空白行直接点击浏览添加,避免手动输入出错 3、新建两个环境变量 变量名 QMAKESPEC 值 设置为 C:\Qt\4.8.5\mkspecs\win32-g++ 变量名 QTDIR 值 设置为 C:\Qt\4.8.5\ 4、安装Opencv2.4.3 解压 opencv2.4.3文件夹 解压后的文件夹我放到 E:\opencv\2.4.3下,也就是opencv2.4.3目录为 E:\opencv\2.4.3\opencv 笔者使用CMake版本是3.12.0 在出现的对话框中选择 where is the source code 路径为上面解压路径“E:\opencv\2.4.3\opencv” 然后选择 where to build the binaries:的路径 ,这个路径是我们要保存Cmake后的opencv2.4.3的路径,这个路径我们可以任意指定,我以E:\opencv\2.4.3\opencv 2.4.3为例 下一步点击 configure 按钮会出现如下对话框 (3)选:MinGW Makefiles 选:第二个 Specify native compilers(4)配置C和C++编译器路径 C: C:\Qt\mingw-gcc440\bin\gcc.exe C++: C:\Qt\mingw-gcc440\bin\g++.exe(5)finish (6)勾选: WITH_OPENGL WITH_QT 不勾选:WITH_IPP ENABLE_PRECOMPILED_HEADERS WITH_CUDA BUILD_opencv_ts 与“python2”、"python3"相关的都不勾选 (7)为防止后面编译出错,而规避一些问题,对source文件做以下修改: 转到opencv源所在的存储库, 找到 E:\Opencv\2.4.3\opencv\cmake/OpenCVCompilerOptions.cmake,将下面这一行注释掉: add_extra_compiler_option(-Werror = non-virtual-dtor) 即改为:#add_extra_compiler_option(-Werror = non-virtual-dtor) (8)选择Qt路径 设置 QT_MAKE_EXECUTABLE 为 C:\Qt\mingw-gcc440\bin\qmake.exe 设置 CMAKE_BUILD_TYPE 为 Release 或者 RelWithDebInfo (9)不停configure直到不出现红色框 Generate 5编译Opencv2.4.3 (1)然后打开CMD,进入刚才设置的where to build the binaries:路径(E:\opencv\2.4.3\opencv 2.4.3),输入mingw32-make命令开始编译 然后确认,编译opencv2.2库 这个过程非常漫长大概需要1个小时左右。最后会出现下面提示。 (2)然后接着输入 mingw32-make install 确认 然后几分钟后会出现如下提示 至此opencv2.4.3 cmake 结束 ,如果编译成功在E:\Opencv\2.4.3\opencv 2.4.3\bin路径下会有下面的文件 在E:\Opencv\2.4.3\opencv 2.4.3\lib路径下会有下面的文件 6、配置环境变量 在系统环境变量中的path 添加以下路径 D:\opencv2\bin 重启电脑 opencv库 编译结束 将下面路径复制到pro文件里并保存 INCLUDEPATH+=E:\Opencv\2.4.3\opencv 2.4.3\include\opencv\ E:\Opencv\2.4.3\opencv 2.4.3\include\opencv2\ E:\Opencv\2.4.3\opencv 2.4.3\include LIBS+=E:\Opencv\2.4.3\opencv 2.4.3\lib\libopencv_calib3d220.dll.a\ E:\Opencv\2.4.3\opencv 2.4.3\lib\libopencv_contrib220.dll.a\ E:\Opencv\2.4.3\opencv 2.4.3\lib\libopencv_core220.dll.a\ E:\Opencv\2.4.3\opencv 2.4.3\lib\libopencv_features2d220.dll.a\ E:\Opencv\2.4.3\opencv 2.4.3\lib\libopencv_flann220.dll.a\ E:\Opencv\2.4.3\opencv 2.4.3\lib\libopencv_gpu220.dll.a\ E:\Opencv\2.4.3\opencv 2.4.3\lib\libopencv_highgui220.dll.a\ E:\Opencv\2.4.3\opencv 2.4.3\lib\libopencv_imgproc220.dll.a\ E:\Opencv\2.4.3\opencv 2.4.3\lib\libopencv_legacy220.dll.a\ E:\Opencv\2.4.3\opencv 2.4.3\lib\libopencv_ml220.dll.a\ E:\Opencv\2.4.3\opencv 2.4.3\lib\libopencv_objdetect220.dll.a\ E:\Opencv\2.4.3\opencv 2.4.3\lib\libopencv_video220.dll.a