Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件)

时间:2024-10-28 11:06:56
Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件)

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

我们在做项目的时候,经常用到的都是链接动态库,在Linux平台中就是.so文件,我的另外一篇文章介绍的就是如何生成动态库,可以参看《ubuntu 16.04下安装使用OpenCV2.4.13(动态库.so)》。

但是有时候,我们仍然希望通过静态调用的方式来使用OpenCV,这个时候就必须要生成可用的静态库文件了。其实方法也很简单,和生成动态库差不多,只是在编译的时候做一些小修改即可。

整个的详细编译步骤可以参考我的那一篇文章,只需要将其中编译部分的命令修改成下面这样即可:

  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文件)