目录
2. 编译OpenCV4.1.2源码生成Win32版本的DLL库和Lib库
一 目的
最近开发显示界面相关功能,使用的是QT5.8.0+VS2015+OpenCV4.1.2,由于电脑是Windows64位系统,开始都是使用64位系统开发。后期由于功能软件在使用过程中需要扩展到Windows32位系统,中间出现了一些问题,最终解决,以此记录配置的过程。
二 使用资源
1. QT5.8.0 Windows32位版本
(1)百度网盘:
VS2015:链接:https://pan.baidu.com/s/1ONWFaiV0vLNL4sw61snddQ ,提取码:ab57 。
VS2013:链接:https://pan.baidu.com/s/1i0aN7KTkS02GtyputVTgtA ,提取码:7qig
(2)网站自行下载:http://qtmirror.ics.com/pub/qtproject/archive/qt/5.8/5.8.0/。
2. OpenCV4.1.2源码
(1)百度网盘:链接:https://pan.baidu.com/s/1Z54d88mjevKLNp9utBaRpw ,提取码:xotv。
(2)网站自行下载:https://opencv.org/opencv-4-1-2/。
3. CMake 3.18.0 Windows64位版本
(1)百度网盘:链接:https://pan.baidu.com/s/1LhZR5Zyz9kud42Dv8mWdfw ,提取码:u5nu 。
(2)CSDN资源:https://download.csdn.net/download/Bixiwen_liu/13728248。
4. winsdksetup.exe
(1)百度网盘:链接:https://pan.baidu.com/s/1owr9G4E5vZcWzGV0kwbLLQ ,提取码:d0jy 。
(2)CSDN资源:https://download.csdn.net/download/Bixiwen_liu/13728227。
(3)官网下载:https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debugger-download-tools。
三 配置过程
目前的版本是QT5.8.0 Windows64位版本、VS2015以及OpenCV4.1.264位版本,若配置Windows32位,则需要安装QT5.8.0 Windows32位版本、编译OpenCV4.1.2源码生成Win32版本的DLL库和Lib库。
1. 安装QT5.8.0 Windows32位版本
(1)同安装QT5.8.0 Windows64位版本一样,下载QT5.8.0 Windows32位版本,下载资源见章节二使用资源。本人使用的是VS2015,安装的是qt-opensource-windows-x86-msvc2015-5.8.0.exe,一直默认安装。这里的安装目录最好在64位同一级目录下,记住安装目录,本人的安装目录如下图。
(2)安装完成后弹出qtcreator界面,若没有弹出,可在安装目录下Tools\QtCreator\bin下找到qtcreator.exe,双击打开。如下图所示。
(3)选择工具-->选项-->构建运行-->构建套件-->编译器,查看C和C++选项是否为空,如下图。
(4)为空时,关闭qtcreator界面,安装winsdksetup(资源见章节二使用资源),默认选项,到如下图所示界面,只选择Debugging Tools for Windows,然后默认完成安装。再打开qtcreator界面,选择工具-->选项-->构建运行-->构建套件-->编译器,确认C和C++选项不为空。
2. 编译OpenCV4.1.2源码生成Win32版本的DLL库和Lib库
因OpenCV官网提供的版本只有x64版本库,没有提供win32版本库,故需要自己编译生成所需要的的库。
(1)安装OpenCV4.1.2源码。OpenCV4.1.2源码下载资源如章节二使用资源,下载后解压。在opencv4.1.2目录下建立build文件夹,如下图。
(2)安装CMake。资源如章节二使用资源,下载后解压。转到目录下的bin文件夹,双击cmake-gui.exe。如下图。
(3)编译OpenCV4.1.2源码。双击cmake-gui.exe,打开界面。选择要编译的源文件;选择编译后生成目标文件存放的文件夹;点击Configure,配置编译信息。注意,这里使用的是VS2015,系统是Win32;之后点击Finish,进行编译。编译好后,点击Generate。具体步骤如下图所示。
(4)生成Opencv4.1.2版本的DLL库和Lib库。生成后的build目录下,找到并双击OpenCV.sln,打开按照正常的VS编译程序,选择Win32下的Release和Debug,重新生成解决方案,之后,在build目录下,得到bin和lib文件夹,分别存放Opencv4.1.2版本的DLL库和Lib库。至此,编译OpenCV4.1.2源码生成Win32版本的DLL库和Lib库结束。
生成的Win32版本的DLL库和Lib库资源:
(1)百度网盘:DLL:链接:https://pan.baidu.com/s/1NQWgKUgyJ7-tkC1QX1nSxQ ,提取码:v5mc ;Lib:链接:https://pan.baidu.com/s/1S8L3UabcThJ7R89BH31I-Q ,提取码:0ro5 。
(2)CSDN资源:DLL:https://download.csdn.net/download/Bixiwen_liu/13728443;Lib:https://download.csdn.net/download/Bixiwen_liu/13728451。
3.VS配置QT5.8.0 32位
(1)加入QT5.8.0 32位。具体步骤如下图所示。QT5.8.0 32位这里命名为msvc2015_32。选择一个默认,然后点击OK。
(2)配置当前编译版本。两种,一是,QT VS Tools,选择QT Project Settings,在Qt Installation中配置;二是:右击解决方案资源管理器中要编译的工程名,属性,再选择QT Project Settings,在Qt Installation中配置。
(3)工程项目属性库目录和链接器配置信息。由于加入了新的编译版本,需要添加配置信息,包括OpenCV和QT的库,不然编译会出错。
c++附加包含目录:
release和debug下:
.\GeneratedFiles
.$(QTDIR)\include
.\GeneratedFiles\$(ConfigurationName)
$(QTDIR)\include\QtCore
$(QTDIR)\include\QtGui
$(QTDIR)\include\QtANGLE
$(QTDIR)\include\QtWidgets
OpenCV目录
链接器:常规附加库目录
$(QTDIR)\lib
OpenCV Lib库目录
输入:附加依赖项
(a)release下:
qtmain.lib
Qt5Core.lib
Qt5Gui.lib
Qt5Widgets.lib
opencv_calib3d412.lib
opencv_core412.lib
opencv_dnn412.lib
opencv_features2d412.lib
opencv_flann412.lib
opencv_gapi412.lib
opencv_highgui412.lib
opencv_imgcodecs412.lib
opencv_imgproc412.lib
opencv_ml412.lib
opencv_objdetect412.lib
opencv_photo412.lib
opencv_stitching412.lib
opencv_ts412.lib
opencv_video412.lib
opencv_videoio412.lib其他所需库
(b)debug下:
qtmaind.lib
Qt5Cored.lib
Qt5Guid.lib
Qt5Widgetsd.lib
opencv_calib3d412d.lib
opencv_core412d.lib
opencv_dnn412d.lib
opencv_features2d412d.lib
opencv_flann412d.lib
opencv_gapi412d.lib
opencv_highgui412d.lib
opencv_imgcodecs412d.lib
opencv_imgproc412d.lib
opencv_ml412d.lib
opencv_objdetect412d.lib
opencv_photo412d.lib
opencv_stitching412d.lib
opencv_ts412d.lib
opencv_video412d.lib
opencv_videoio412d.lib其他所需库
(4)OpenCV4.1.2Win32版本的DLL库复制放入到工程目录下DLL库存放的位置。
(5)使用VS2015选择Win32进行编译即可。
码字不易,谢谢!