OpenCV-Cmake
版本opencv4.4 .0,windows下编译
1、下载源码和Cmake
(1)opencv4.4:https://github.com/opencv/opencv/releases
选择4.4版本的Sourcecode(zip)进行下载
(2)opencv_contrib:https://github.com/opencv/opencv_contrib/releases
选择4.4版本的Sourcecode(zip)进行下载
(3)Cmake:https://cmake.org/download/
下载并安装cmake-3.18.1-win64-x64.msi(文章编写时使用的版本为3.18.1)
2、生成并编译opencv
系统已经安装Visual Studio 2015,下载的opencv源码已解压。
(1)打开Cmake并选择opencv源码位置和生成路径。
(2)点击Configure进行参数配置。
(3)选择VS版本和需要生成的版本(Win32、x64),点击Finish。如果需要opencv-contrib则在OPENCV_EXTRA_MODULES_PATH中填入opencv-contrib/modylese的路径。另外如还需opencv的其他功能则勾选该功能模块。
(4)点击Generate生成文件。
(5)进入build文件夹打开生成的OpenCV.sln。
(6)找到Cmake Targets/INSTALL,右键生成。此过程时间较长
3、可能遇到的问题
(1)国内源码下载慢的问题。
解决方法:1.搭梯子。2.借助gitee。将opencv项目导入到gitee中然后下载对应版本的源码。
(2)Configure过程中文件下载超时,文件无法下载。
解决方法:打开build下CMakeDownloadLog.txt找到下载失败的文件手动下载,然后将下载的文件放到opencv源码的.cache对应的文件夹下,最后根据hash值修改文件名。
例如ippicv下文件下载错误,将文件放置到.cache/ippicv文件夹下并修改文件名为Hash+文件名。
在CMakeDownloadLog.txt中对应的文件为地址”https://raw.staticdn.net/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_win_intel64_20191018_general.zip“
复制地址到浏览器打开并保存到本地,也可以借助迅雷等下载工具下载。在经过第一次configure后一般下载失败的文件会存在对应目录中,其大小为0kb,可直接将下载的文件重命名后替换对应的文件。
(3)生成opencv_world失败
LINK : fatal error LNK1210: 已超过内部 ILK 大小限制;链接时使用 /INCREMENTAL:NO
vs中选中opencv world项目 右键 属性->连接器->常规->启用增量链接:选择否(/INCREMENTAL:NO),重新编译。