天天看點

Win10+VS2015環境下編譯 OpenCV 3.1和opencv_contrib 一、下載下傳安裝二、Cmake三、VS2015 編譯四、重新配置VS2015

一、下載下傳安裝

  • OpenCV3.1.0下載下傳位址:http://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-win/3.1.0/opencv-3.1.0.exe
  • OpenCVcontrib下載下傳位址: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的庫。後面的步驟基本相同,沒有什麼差別。大家各自按需選擇就好。

  1. 在路徑選擇位置把目錄寫好,我将編譯路徑為D:\OpenCV3.1\sources\newBulid
    Win10+VS2015環境下編譯 OpenCV 3.1和opencv_contrib 一、下載下傳安裝二、Cmake三、VS2015 編譯四、重新配置VS2015
  2. 在configure裡,選擇VS14 2015(最高版本就是這個,沒有VS15),然後點finish後,他會自動配置一通,配置好了就像下圖所示,Configuring done.
    Win10+VS2015環境下編譯 OpenCV 3.1和opencv_contrib 一、下載下傳安裝二、Cmake三、VS2015 編譯四、重新配置VS2015
  3. 配置完成後會顯示很多配置選項,找到OPENCV_EXTRA_MODULES_PATH,将opencv_contrib的目錄放進去。在這裡,我的目錄是D:/opencv_contrib-master/modules。今天重新配置的時候,發現下面圖配錯了,( ╯□╰ )
    Win10+VS2015環境下編譯 OpenCV 3.1和opencv_contrib 一、下載下傳安裝二、Cmake三、VS2015 編譯四、重新配置VS2015
  4. 點選Generate以後,他又自動配置一通,顯示Generating done.這樣應該就好了吧,霍霍
    Win10+VS2015環境下編譯 OpenCV 3.1和opencv_contrib 一、下載下傳安裝二、Cmake三、VS2015 編譯四、重新配置VS2015
    Win10+VS2015環境下編譯 OpenCV 3.1和opencv_contrib 一、下載下傳安裝二、Cmake三、VS2015 編譯四、重新配置VS2015

三、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換了,應該足夠用了。各位看官要是有需要,自行添加吧
      Win10+VS2015環境下編譯 OpenCV 3.1和opencv_contrib 一、下載下傳安裝二、Cmake三、VS2015 編譯四、重新配置VS2015

更新:今天看到了一種新的寫法,在配置裡直接寫D:\OpenCV3.1\sources\newBulid\install\x64\vc14\lib\*.lib就可以了,很快捷吧~

繼續閱讀