zoukankan      html  css  js  c++  java
  • Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件)

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

    https://blog.csdn.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文件了。

  • 相关阅读:
    C++中迭代器失效的问题
    怎么转载别人的博客
    Linux下模拟实现shell
    Linux下的文件描述符与文件指针及其区别
    智能指针
    C++模板(下)
    C++中的模板(上)
    僵尸进程和孤儿进程
    Linux下的atexit函数
    多线程练习
  • 原文地址:https://www.cnblogs.com/okgogo2000/p/9114010.html
Copyright © 2011-2022 走看看