Win10+VS2015环境下编译 OpenCV 3.1和opencv_contrib
2016-01-07 15:31
645 查看
一、下载安装
OpenCV3.1.0下载地址:http://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-win/3.1.0/opencv-3.1.0.exeOpenCVcontrib下载地址:https://github.com/Itseez/opencv_contrib
cmake-gui下载地址:http://www.cmake.org/cmake/resources/software.html
下载以上内容并安装opencv和cmake-gui,我的OpenCV安装路径为 D:\OpenCV3.1
二、Cmake
做到后面才发现x86和x64的库生成需要在Configure的部分做区分,选择默认的VS 14 2015就是正常的生成x86库,而再往下两个选择VS 14 2015 win64就是生成的x64的库。后面的步骤基本相同,没有什么区别。大家各自按需选择就好。在路径选择位置把目录写好,我将编译路径为D:\OpenCV3.1\sources\newBulid
在configure里,选择VS14 2015(最高版本就是这个,没有VS15),然后点finish后,他会自动配置一通,配置好了就像下图所示,Configuring done.
配置完成后会显示很多配置选项,找到OPENCV_EXTRA_MODULES_PATH,将opencv_contrib的目录放进去。
点击Generate以后,他又自动配置一通,显示Generating done.这样应该就好了吧,霍霍
三、VS2015 编译
这时候回到MyBuild文件夹下面,就能找到新生成的OpenCV.sln在解决方案资源管理器中,选中“解决方案‘OpenCV’(151个项目)”,右键-->重新生成解决方案。
依旧是资源管理器中,找到CMakeTargets中的INSTALL,右键-->仅用于项目-->仅生成INSTALL。完成后,D:/OpenCV3.1/sources/newBulid/install下会有很多东西。
四、重新配置VS2015
重新配置的时候发现问题了,由于下载的OpenCV3.1.0 只有x64的库,所以我之前配置的时候都是基于x64做的配置,然而按照上面的步骤生成的文件只有x86的。这个时候就想到重新编译的时候哪里能选定并生成x64的库咧。于是又查查找找,发现在最开始的Cmake阶段,在做Configure的时候,选择VS14 2015 win64才能生成x64的库。于是又重新返回去做了一遍,囧rz。按照之前的配置把包含目录修改为
D:\OpenCV3.1\sources\newBulid\install\include
D:\OpenCV3.1\sources\newBulid\install\include\opencv
D:\OpenCV3.1\sources\newBulid\install\include\opencv2
库目录修改为
D:\OpenCV3.1\sources\newBulid\install\x64\vc14\lib
D:\OpenCV3.1\sources\newBulid\install\x64\vc14\staticlib
依赖项:
opencv_calib3d310d.lib
opencv_core310d.lib
opencv_features2d310d.lib
opencv_flann310d.lib
opencv_highgui310d.lib
opencv_imgcodecs310d.lib
opencv_imgproc310d.lib
opencv_ml310d.lib
opencv_objdetect310d.lib
opencv_photo310d.lib
opencv_shape310d.lib
opencv_stitching310d.lib
opencv_superres310d.lib
opencv_ts310d.lib
opencv_video310d.lib
opencv_videoio310d.lib
opencv_videostab310d.lib
ippicvmt.lib
相关文章推荐
- Docker制作tomcat镜像简单实践
- Linux devfreq
- What are the differences between Apache Kafka and RabbitMQ?
- linux grep 查找文件内容
- Bash的24个陷阱分析
- Linux删除除了某些文件之外的所有文件(夹)
- Opencv读取各种格式图片,在TBitmap上面重绘
- 基于Tomcat7、Java、WebSocket的服务器推送聊天室
- elasticsearch-hadoop使用示例
- Linux inode 索引节点已满导致服务无法开启的详细解决方法
- 17.shell脚本编程(2)
- linux各文件夹的作用
- CentOS 7 安装MySQL
- 网站优化的那些事
- 加密和解密基础知识、linux上的私有CA实现方法、学习总结
- 解决linux看温度是报错No sensors found问题
- 正篇 一. 开发前须知 1.2Android 关于项目架构的问题:(
- Linux Shell删除某一个目录下的所有文件夹(保留其他文件)
- Hadoop2.2.0已经遗弃的属性名称
- 那些年我们一起做过的shell面试题(二)