之前解壓官網給的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
最後祝大家程式設計愉快~~