[OpenCv]Win10 X64 + VS2015 + CMake3.6.1 静态编译OpenCv3.1.0并测试
2016-08-07 19:36
274 查看
列表内容
开启CMake,如图 1
选择 source文件地址 和 编译生成的文件存放地址
source文件地址选择OpenCv解压文件中的source文件,打开source文件,我们可以看到里面的文件如图 2,其中CMakeList.txt文件就是指导CMake编译的描述文件,想看懂改描述文件的同学可以看看CMake入门:
编译生成的文件地址选择了与source上一级同级的文件夹 buildS,该文件夹不存在,但是CMake会帮你创建,选择好了后如图 3:
Configure
点击图 7左下角Configure按钮,软件会自动检测到电脑安装有VS2015(注意一定要选对版本),就帮你选定将该Source文件编译成VS2015项目,如图 4;
我们需要点finish按钮进行确认,确认之后得到的结果如图 5:
此时 buildS 文件夹中已经有生成的文件了,如图 6
个性化设置
在图 6中,我们勾选一些我们需要的设置,设置后的结果如图 7 和 图 8 所示(这里说明一下 比如 BUILD_EXAMPLE 我们不知道什么意思,可以将鼠标移动到该属性上面停留一会,就可以看到相应的解释了);
BUILD_EXAMPLE checked
BUILD_opencv_world checked
BUILD_SHARED_LIBS not checked
生成
在生成之前,我们需要在次点击Configure按钮,使得我们刚刚的设置得以生效,在这一步需要连接外网下载一个ippicv_win的压缩包,如果在这一步出现问题,可以上网搜索下载这个文件,放到相应的文件夹中;
然后我们点击Generate按钮,开始生成VS项目,生成结束之后,我们可以看到buildS 文件夹中的内容如图 9所示,和图 6对比,多了很多VS工程中出现的文件:
在VS2015中生成dll和lib文件
在VS2015中打开图 9中的 OpenCv.sln,点击生成-->批生成,如图 10选择:
点击Generate按钮,开始生成,生成过程如图 11,等待时间根据电脑配置,30--60min不等:
由于我们需要发布可以脱离OpenCv 和 VS 2015环境的exe 可执行文件,为了证明我们编译产生的exe是可以独立运行的,我们要把之前配置的有关OpenCv的环境变量删除;
Vs 2015中创建一个空的 Win32控制台程序
在这个程序中,在源文件中添加一个drawing.cpp,可以在
DOWNLOAD|drawing.cpp中下载;
在属性管理器中设置Release属性
在Release|64X 中设置新建一个props文件,(名为openCv310Rel64)(名字自己取,但是最好能够把其对应的信息展示在名称当中),这样的好处是在之后创建其它的OpenCv工程之后,直接将这个props文件导入到根目录,并添加到工程中就可以配置好OpenCv的库了;如图 12 (这里由于我们只是创建了这个props文件,但是没有对其中的属性进行设置,所以这里程序中会报错)
对自己创建的props文件进行配置相应的属性
a.
C/C++–> 常规 –> 附加包目录,添加如下图 13目录,根据自己的路径相应改一下:
C:\OpenCv\buildS\install\include
C:\OpenCv\buildS\install\include\opencv
C:\OpenCv\buildS\install\include\opencv2
b.
C/C++–> 代码生成 –> 运行库,设置为 多线程(/MT),
说明 多线程(/MT)的意义:
使得程序其连接的是libcmt.lib,该文件属于C语言运行时库,整个lib都会连接到PE文件当中;
把对应的运行时库直接放到编译出来的exe文件当中,是的该程序可以在没有对应环境的电脑上运行;
c.
链接器 –> 常规 –> 附件库目录,设置的目录入下:
C:\OpenCv\buildS\install\x64\vc14\staticlib
这一设置的意义在于,告诉VS编译时,需要加入到exe文件中的lib应当去哪里找,设置如图
d.
链接器 –> 输入 –> 附加依赖项,添加如下lib
IlmImf.lib
ippicvmt.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
libwebp.lib
opencv_ts310.lib
opencv_world310.lib
zlib.lib
如图
e.
调试生成exe文件,如果有生成的exe文件在其它没有设置OpenCv环境和VS环境的电脑上运行,那么就代表静态编译设置成功。点击下载编译好的exe文件
如需交流,请私信新浪微博@IT技术N
一、OpenCv3.1.0配置
点击查看动态编译博客二、CMake3.6.1安装
点击查看动态编译博客三、使用CMake3.6.1编译OpenCv3.1.0
开启CMake开启CMake,如图 1
选择 source文件地址 和 编译生成的文件存放地址
source文件地址选择OpenCv解压文件中的source文件,打开source文件,我们可以看到里面的文件如图 2,其中CMakeList.txt文件就是指导CMake编译的描述文件,想看懂改描述文件的同学可以看看CMake入门:
编译生成的文件地址选择了与source上一级同级的文件夹 buildS,该文件夹不存在,但是CMake会帮你创建,选择好了后如图 3:
Configure
点击图 7左下角Configure按钮,软件会自动检测到电脑安装有VS2015(注意一定要选对版本),就帮你选定将该Source文件编译成VS2015项目,如图 4;
我们需要点finish按钮进行确认,确认之后得到的结果如图 5:
此时 buildS 文件夹中已经有生成的文件了,如图 6
个性化设置
在图 6中,我们勾选一些我们需要的设置,设置后的结果如图 7 和 图 8 所示(这里说明一下 比如 BUILD_EXAMPLE 我们不知道什么意思,可以将鼠标移动到该属性上面停留一会,就可以看到相应的解释了);
BUILD_EXAMPLE checked
BUILD_opencv_world checked
BUILD_SHARED_LIBS not checked
生成
在生成之前,我们需要在次点击Configure按钮,使得我们刚刚的设置得以生效,在这一步需要连接外网下载一个ippicv_win的压缩包,如果在这一步出现问题,可以上网搜索下载这个文件,放到相应的文件夹中;
然后我们点击Generate按钮,开始生成VS项目,生成结束之后,我们可以看到buildS 文件夹中的内容如图 9所示,和图 6对比,多了很多VS工程中出现的文件:
在VS2015中生成dll和lib文件
在VS2015中打开图 9中的 OpenCv.sln,点击生成-->批生成,如图 10选择:
点击Generate按钮,开始生成,生成过程如图 11,等待时间根据电脑配置,30--60min不等:
四、使用自己静态编译好的OpenCv lib,发布可以脱离OpenCv环境运行的exe文件
删除环境变量由于我们需要发布可以脱离OpenCv 和 VS 2015环境的exe 可执行文件,为了证明我们编译产生的exe是可以独立运行的,我们要把之前配置的有关OpenCv的环境变量删除;
Vs 2015中创建一个空的 Win32控制台程序
在这个程序中,在源文件中添加一个drawing.cpp,可以在
DOWNLOAD|drawing.cpp中下载;
在属性管理器中设置Release属性
在Release|64X 中设置新建一个props文件,(名为openCv310Rel64)(名字自己取,但是最好能够把其对应的信息展示在名称当中),这样的好处是在之后创建其它的OpenCv工程之后,直接将这个props文件导入到根目录,并添加到工程中就可以配置好OpenCv的库了;如图 12 (这里由于我们只是创建了这个props文件,但是没有对其中的属性进行设置,所以这里程序中会报错)
对自己创建的props文件进行配置相应的属性
a.
C/C++–> 常规 –> 附加包目录,添加如下图 13目录,根据自己的路径相应改一下:
C:\OpenCv\buildS\install\include
C:\OpenCv\buildS\install\include\opencv
C:\OpenCv\buildS\install\include\opencv2
b.
C/C++–> 代码生成 –> 运行库,设置为 多线程(/MT),
说明 多线程(/MT)的意义:
使得程序其连接的是libcmt.lib,该文件属于C语言运行时库,整个lib都会连接到PE文件当中;
把对应的运行时库直接放到编译出来的exe文件当中,是的该程序可以在没有对应环境的电脑上运行;
c.
链接器 –> 常规 –> 附件库目录,设置的目录入下:
C:\OpenCv\buildS\install\x64\vc14\staticlib
这一设置的意义在于,告诉VS编译时,需要加入到exe文件中的lib应当去哪里找,设置如图
d.
链接器 –> 输入 –> 附加依赖项,添加如下lib
IlmImf.lib
ippicvmt.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
libwebp.lib
opencv_ts310.lib
opencv_world310.lib
zlib.lib
如图
e.
调试生成exe文件,如果有生成的exe文件在其它没有设置OpenCv环境和VS环境的电脑上运行,那么就代表静态编译设置成功。点击下载编译好的exe文件
备注
如有错误,欢迎指正如需交流,请私信新浪微博@IT技术N
相关文章推荐
- [OpenCv]Win10 X64 + VS2015 + CMake3.6.1 编译OpenCv3.1.0记录
- win10 x64下编译 opencv 3.1.0 附加模块 opencv_contrib 环境配置
- 【Win10 + CMake 3.7.0-rc1 + VisualStudio 2015 】【OpenCV2.4.13 + tbb】重新编译
- 使用CMake 2.8 编译OpenCV 3.1.0 + opencv_contrib扩展 (环境ubuntu14.04 CUDA8.0)
- 【Win10 + CMake 3.7.0-rc1 + VisualStudio 2015 】【OpenCV2.4.13 + tbb】重新编译
- win10下使用CMake编译OpenCV2.4(配置VS2015之前)
- Cmake3.6.3+VS2012下编译OpenCV-2.4.10静态库
- Ubuntu16.04+anaconda2+caffe+ssd+opencv3.1.0在编译caffe过程中的问题及解决方法 主要遇到三个问题,前两个是caffe在cmake过程中的问题,后一
- Cmake3.8+VS2013+Win10编译OpenCV3.2+opencv_contrib遇到的问题
- win10 Cmake编译 深入理解Opencv 源码
- win10 使用cmake编译opencv源码生成VS工程(二)
- Win10 下Cmake3.8.0编译配置 Opencv3.2 + Cuda8.0 + VS2010
- Win10 下Cmake编译配置 Opencv3.1 + Cuda7.5 + VS2013
- VS 2015 64位CMake编译openCV3.1.0必备文件
- Win10 下Cmake编译配置 Opencv3.1 + Cuda7.5 + VS2013
- WIN10 VS2015 Cmake编译 opencv3.3 cuda9.0
- OpenCV 1.0 在VS2005中编译为静态库所需的设置
- 使用OpenCV-2.4.0.exe文件编译x86或x64平台Visual Studio 2005/2008/2010目标文件
- cmake编译opencv程序