1. 程式人生 > >Ubuntu16.04下編譯OpenCV2.4.13靜態庫(.a文件)

Ubuntu16.04下編譯OpenCV2.4.13靜態庫(.a文件)

csdn ref TP img 參考 ews release -a build

Ubuntu16.04下編譯OpenCV2.4.13靜態庫(.a文件)

https://blog.csdn.net/woainishifu/article/details/79712110

我們在做項目的時候,經常用到的都是鏈接動態庫,在Linux平臺中就是.so文件,我的另外一篇文章介紹的就是如何生成動態庫,可以參看《ubuntu 16.04下安裝使用OpenCV2.4.13(動態庫.so)》。

但是有時候,我們仍然希望通過靜態調用的方式來使用OpenCV,這個時候就必須要生成可用的靜態庫文件了。其實方法也很簡單,和生成動態庫差不多,只是在編譯的時候做一些小修改即可。

整個的詳細編譯步驟可以參考我的那一篇文章,只需要將其中編譯部分的命令修改成下面這樣即可:

[plain] view plain copy
  1. cd opencv-2.4.13/
  2. mkdir static_release
  3. cd static_release/
  4. cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=OFF -D BUILD_SHARED_LIBS=NO -D BUILD_PNG=ON -D BUILD_JASPER=ON -D BUILD_JPEG=ON -D BUILD_TIFF=ON -D BUILD_ZLIB=ON -D WITH_JPEG=ON -D WITH_PNG=ON -D WITH_JASPER=ON -D WITH_TIFF=ON ..
  5. sudo make install

能看到其中一個很明顯的改變就是“BUILD_SHARED_LIBS=NO”這個選項,代表了不編譯動態庫,而是編譯靜態庫。後面那些則是增加一些opencv所依賴的第三方庫,也要把他們一起生成才行。

然後在漫長的編譯結束後,就可以在文件夾/usr/local/lib/下面看到生成的一系列.a文件了。

技術分享圖片

Ubuntu16.04下編譯OpenCV2.4.13靜態庫(.a文件)