之前解压官网给的opencv310版本并没有win32(X86)的lib更没有staticlib,但在日常项目中个人更偏向于使用32位,故而这里写一个利用CMake编译opencv源码生成和电脑编程环境一致的方法。
而静态库staticlib的作用则使我们写的程序在别的电脑上运行时我们没必要再拷贝额外的dll了,所有需要的东西全部整合在一个EXE里。
惯例配置opencv环境链接:http://blog.csdn.net/zmdsjtu/article/details/52235056
//////////////////////////////软件链接///////////////////////////
Cmake官方下载地址:https://cmake.org/download/
Opencv: http://opencv.org/downloads.html
VS2015: https://www.visualstudio.com/
//////////////////////////////正文///////////////////////////
下载最新版opencv310解压之后打开build后发现只有X64并没有X86,故而我们来编译X86版本的。
安装完CMake之后打开GUI,本文采用的是最新版CMake。
如图所示,填入对应目录的source,以及你想放置项目的位置。
然后点击Configure! 如果安装了多个编译器选择你想要用的,本文采用VS2015(V14)版本的进行编译。
下面就是关键啦~~
首先勾选BUILD_opencv_world!!!这个会让动态库的lib减少到只需要world以及ts两个,非常方便。
然后如果编译静态库,请把BUILD_SHARED_LIBS去掉!
如果编译动态库,就勾选上!
然后点两次Generate即可
接着在刚刚生成项目的位置,也就是刚刚设置的第二个目录位置打开OpenCV.sln
选择生成-批生成,勾选中INSTALL的Debug以及Release,再点击生成
经过非常漫长的等待(大概吃个午饭的时间)
我们就有了可以使用的静态库(Release以及Debug的32位版本)
//这里我把install目录移出来了,所需要的文件都在install目录下
---------------------------------------------以下为配置静态库的补充说明-----------------------------
如果配置静态库的opencv,将库目录设置到图里的staticlib里即可
然后需要添加的附加依赖项稍多:
Release版为:
opencv_ts310.lib
opencv_world310.lib
IlmImf.lib
libjasper.lib
libjpeg.lib
Libpng.lib
libtiff.lib
libwebp.lib
zlib.lib
Debug版的为:
opencv_ts310d.lib
opencv_world310d.lib
ippicvmt.lib
IlmImfd.lib
libjasperd.lib
Libjpegd.lib
libpngd.lib
libtiffd.lib
libwebpd.lib
Zlibd.lib
------------------------------------------------------------------------------------------------------------
动态库的方法将之前BUILD_SHARED_LIBS勾选上类似,最后编译出的结果如图
////////////////////////////////////////////收个尾///////////////////////////////////////
为了方便调用,我们在常用的opencv的build目录下新建X86文件夹,把动态库的lib文件夹以及静态库的staticlib文件夹拷贝进来。 //这里只是个人习惯咯
最后真的好抱歉啊,写的第一篇利用opencv+win10+VS2015调用摄像头的博客没意识到用的是自己编译的X86的动态库lib,现在补上啦~~
再次友情链接:
配置opencv环境链接:http://blog.csdn.net/zmdsjtu/article/details/52235056
然后附上刚刚编译完成的热乎的下载链接
静态库lib: http://download.csdn.net/detail/zmdsjtu/9614631
动态库lib: http://download.csdn.net/detail/zmdsjtu/9614629
动态库的bin:http://download.csdn.net/detail/zmdsjtu/9637353
最后祝大家编程愉快~~