Win10+VS2015环境下编译 OpenCV 3.1和opencv_contrib

一、下载安装

下载以上内容并安装opencv和cmake-gui,我的OpenCV安装路径为 D:\OpenCV3.1

二、Cmake


做到后面才发现x86和x64的库生成需要在Configure的部分做区分,选择默认的VS 14 2015就是正常的生成x86库,而再往下两个选择VS 14 2015 win64就是生成的x64的库。后面的步骤基本相同,没有什么区别。大家各自按需选择就好。

  1. 在路径选择位置把目录写好,我将编译路径为D:\OpenCV3.1\sources\newBulid
  2. 在configure里,选择VS14 2015(最高版本就是这个,没有VS15),然后点finish后,他会自动配置一通,配置好了就像下图所示,Configuring done.
  3. 配置完成后会显示很多配置选项,找到OPENCV_EXTRA_MODULES_PATH,将opencv_contrib的目录放进去。在这里,我的目录是D:/opencv_contrib-master/modules。今天重新配置的时候,发现下面图配错了,( ╯□╰ )
  4. 点击Generate以后,他又自动配置一通,显示Generating done.这样应该就好了吧,霍霍

三、VS2015 编译


  1. 这时候回到MyBuild文件夹下面,就能找到新生成的OpenCV.sln
  2. 在解决方案资源管理器中,选中“解决方案‘OpenCV’(151个项目)”,右键-->重新生成解决方案。
  3. 依旧是资源管理器中,找到CMakeTargets中的INSTALL,右键-->仅用于项目-->仅生成INSTALL。注:想要Debug版(格式为opencv_xxxx310d.lib)的和Release版(格式为opencv_xxxx310.lib)的lib的话,分别选择Debug和Release以后,生成两遍就可以了。完成后,D:/OpenCV3.1/sources/newBulid/install下会有很多东西。
更新:之前做的时候一直使用的是Debug + x64的搭配,这种情况生成的lib大都为opencvXXXX310d.lib,由于当时一直在Debug下调试程序,对Release的lib需求并不迫切。今天想要使用Release的库时发现傻了眼,所以翻开这篇,又重新做了一遍,走到这一步才发现,只需要把Debug换成Release就可以生成不带d的lib了。——3.17

四、重新配置VS2015


  1. 重新配置的时候发现问题了,由于下载的OpenCV3.1.0 只有x64的库,所以我之前配置的时候都是基于x64做的配置,然而按照上面的步骤生成的文件只有x86的。这个时候就想到重新编译的时候哪里能选定并生成x64的库咧。于是又查查找找,发现在最开始的Cmake阶段,在做Configure的时候,选择VS14 2015 win64才能生成x64的库。于是又重新返回去做了一遍,囧rz。
  2. 按照之前的配置把包含目录修改为
    • D:\OpenCV3.1\sources\newBulid\install\include
    • D:\OpenCV3.1\sources\newBulid\install\include\opencv
    • D:\OpenCV3.1\sources\newBulid\install\include\opencv2
  3. 库目录修改为
    • D:\OpenCV3.1\sources\newBulid\install\x64\vc14\lib
    • D:\OpenCV3.1\sources\newBulid\install\x64\vc14\staticlib
  4. 依赖项:
    • 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
    • ……以及其他Release版本的lib,基本都和上面的一样,但是有个别独立的,由于密密麻麻,懒癌犯了,我目前的配置也只是把上面的d换了,应该足够用了。各位看官要是有需要,自行添加吧吐舌头
更新:今天看到了一种新的写法,在配置里直接写D:\OpenCV3.1\sources\newBulid\install\x64\vc14\lib\*.lib就可以了,很快捷吧~


猜你喜欢

转载自blog.csdn.net/yomo127/article/details/50474955