win10 vs2015 opencv编译

来源:互联网 发布:linux ip地址映射域名 编辑:程序博客网 时间:2024/06/10 01:10

01 必须软件:Cmake/VisualStudio。

系统环境 :win10 企业版 Build 14393。Thinkpad x240 8GB内存 I5处理器,256GBssd系统盘,5400转硬盘,生成工程文件后,使用vs2015编译单一版本大约10分钟左右。
使用 cmake-3.4.0-win32-x86.exe,下载地址:https://cmake.org/files/v3.4/cmake-3.4.0-win32-x86.exe。

这里写图片描述

使用CMake3.6.1 和 CMake3.7.1 编译时会出现错误。(测试使用CMAke3.6.1 和 CMake3.7.1 的 win64-x64 版本,均有 bioinspired 模块编译失败问题。提示:error MSB6006: “cmd.exe”已退出,代码为 -1073741571)。 网上也看到不少博客使用CMake3.7.0编译正常。 如果不是从github下载源码,不需要使用git,因为opencv.org提供的下载包里包含对应的源码。解压后的 sources 目录就是源码包。

Git下载页面:https://git-scm.com/download/win。
具体下载链接:https://github.com/git-for-windows/git/releases/download/v2.11.0.windows.1/Git-2.11.0-64-bit.exe。

02 opencv官网:http://opencv.org/

opencv官网提供打包好的sdk(build目录)+源码包(sources)。当前稳定最新版本3.1版。源码包使用cmake管理,cmake生成工程文件时,自动检测依赖文件版本,并下载到本地sources\3rdparty下面对应的目录中。在下载这些依赖文件时,有可能会下载错误,多尝试几次,总会有下载成功的时候。X86和x64依赖包是不同的。对于不同的vs版本也有差异。
官网如下图所示,点击 LATEST DOWNLOADS 链接,下载最新版本。点击Fork me Github 连接到github源码管理页面。
这里写图片描述

03 从github上面下载源码。

03.01 opencv源码

代码下载官网:https://github.com/opencv/opencv,代码下载速度很不稳定,有时瞬间完成,有时下载出错。多试几次吧,总会赶上正常的时候。

git clone https://github.com/opencv/opencv.git# 查一下tag标签,使用最新的3.1.0标签,迁出代码,并建立一个分支dev3.1.0git taggit checkout 3.1.0 -b dev3.1.0

03.02 opencv_contrib依赖库源码

官网:https://github.com/opencv/opencv_contrib

git clone https://github.com/opencv/opencv_contrib.gitgit tag#3.0.0#3.0.0-beta#3.0.0-rc1#3.1.0# 使用最新的3.1.0标签,迁出代码,并建立一个分支dev3.1.0git checkout 3.1.0 -b dev3.1.0

03.03 查看一下源码。

如下图所示。opencv和opencv_contrib都切换到3.1.0版本下。
这里写图片描述

opencv目录结构如下:
这里写图片描述

opencv_contrib目录结构如下:
这里写图片描述

04 使用CMake 生成vs2015 X86版本的工程文件。

04.01 指定目录,生成基本配置。

指定源码目录:d:/git/opencv 指定build目标目录:d:/git/opencv/build/x86。目录不存在,会提示创建。
Build目录设置在源码下面的build/x86。 点击Configure 按钮生成配置。如下图:

这里写图片描述

04.02 目录不存在,提示是否创建,点击 yes 按钮,创建目录。

这里写图片描述

04.03 选择vs版本和平台版本(x86还是x64)

这里写图片描述

04.04 选则 Visual Studio 14 2015 和 Use Default Native Compilers 选项,点击 Finish 按钮。

选择Visual Studio 14 2015,表示生成x86版本工程文件。如果要生成x64位工程文件,此处选择 Visual Studio 14 2015 Win64。
选择 Use Default Native Compilers 选项。

这里写图片描述

04.50 生成配置。

点击Finish按钮,进行配置,这个过程会下在一些必须的第三方库文件,放到opencv\3rdparty对应子目录的downloads文件夹下。
下载过程中可能失败,多试几次。如果已经在别处下载过同版本的文件,把downloads 拷贝过来也可以的。
使用CMake3.6.1 和 CMake3.7.1 在我的系统下会出现下载失败。使用CMake3.4.0版本没出现失败情况。
这里写图片描述

04.06 添加opencv_contrib配置

如果不需要指定扩展模块 opencv_contrib,就可以直接点击Cenerate按钮生成工程文件了。
这里我们指定opencv_contrib扩展模块。指定OPENCV_EXTRA_MODULES_PATH为d:/git/opencv_contrib/modules。注意,要指定到modules目录。
点击Configure,重新生成带opencv_contrib/modules的配置。
这里写图片描述

CMakes的几个配置选项:
BUILD_EXAMPLES 勾选会编译examples,初学建议勾选。此项勾选后,会生成大量demo。编译时间较长。
DOWNLOAD_EXTERNAL_TEST_DATA 勾选此项,会下载测试数据。
BUILD_SHARED_LIBS 动态库勾选,静态库不选。
BUILD_WITH_STATIC_CRT 生成静态库建议不选。
OPENCV_EXTRA_MODULES_PATH 需设置为opencv_contrib/modules目录

04.07 生成VS2015工程文件和解决方案文件

点击 Ganerate按钮,生成VS2015工程文件和解决方案文件。看到Cenerating done,说明已经生成vs工程文件和解决方案文件。
这里写图片描述

04.08 查看工程文件目录。

这里写图片描述

04.09 用vs2015打开解决方案。

使用vs2015打开 D:\git\opencv\build\x86\OpenCV.sln文件,编译debug版本。提示加载项目163个。看到实际154个工程。
这里写图片描述
这里写图片描述

04.10 编译,生成debug版本。

编译。大约10分钟,0个错误,558个警告(大部分是C4809警告)。
这里写图片描述

04.11 重新单独编译INSTALL工程,生成install目录

重新单独编译INSTALL工程,生成install目录,即得到自己编译的sdk目录。
Install下面有如下目录:

install\bin\opencv_waldboost_detectord.exeinstall\etc\haarcascadesinstall\etc\lbpcascadesinstall\include\opencvinstall\include\opencv2install\javainstall\x86\vc14\bininstall\x86\vc14\libinstall\x86\vc14\staticlib\ippicvmt.lib

install\include 是你所开发程序需要引入opencv的头文件目录。
install\x86\vc14\lib 是你所开发程序需要引入的opencv的lib库文件目录。
install\x86\vc14\bin 是你所开发程序依赖的opencv的dll文件目录。

这里写图片描述

0 0
原创粉丝点击