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文件了。

Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件)的更多相关文章

  1. Ubuntu16.04下安装OpenCV2.4.13

    软件版本 Ubuntu 16.04; OpenCV 2.4.13 安装步骤 1.首先安装一些编译工具 # 安装编译工具 sudo apt-get install build-essential # 安 ...

  2. Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python)

    Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python) 前提是已经安装了python2,python3 1)安装各种依赖库 sudo apt-get update ...

  3. linux下编译qt5.6.0静态库——configure配置

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  4. linux下编译qt5.6.0静态库——configure配置(超详细,有每一个模块的说明)(乌合之众)

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  5. linux下编译qt5.6.0静态库(使用./configure --help来看看都有哪些参数。超详细,有每一个模块的说明。如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf)(乌合之众)good

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  6. ubuntu16.04下编译ceres-solver

    一.编译环境 ubuntu16.04 二.准备工作之安装必要的库 2.1安装cmake sudo apt-get install cmake 2.2 安装google-glog + gflags su ...

  7. Ubuntu16.04下编译安装及运行单目ORBSLAM2

    官网有源代码和配置教程,地址是 https://github.com/raulmur/ORB_SLAM2 1 安装必要工具 首先,有两个工具是需要提前安装的.即cmake和Git. sudo apt- ...

  8. ubuntu16.04下编译安装vim8.1

    之前写过一篇centos7下编译安装vim8.0的教程,ubuntu16.04相比centos7下安装过程不同在于依赖包名字的不同,其余都是一样.下面给出ubuntu16.04编译安装vim8.0需要 ...

  9. Ubuntu16.04下Python2:pip安装opendr库

    在Ubuntu16.04/Python2环境安装opendr遇到了问题,并且报错不清楚. 使用dis_to_free的方法很好地解决问题. sudo apt install libosmesa6-de ...

随机推荐

  1. 虚拟机上linux与windows之间复制粘贴

    参考:https://blog.csdn.net/qq_34501940/article/details/51222119

  2. Thinkphp 导出csv 先存储在服务器,然后输出链接下载

    public function exportQiandao() { // header("Content-type:text/html;charset=gb2312"); ini_ ...

  3. mysql - 简单的触发器和存储过程

    delimiter // drop PROCEDURE proc_member_preprocessor;// )) main:BEGIN SELECT COUNT(uid) INTO @proc_h ...

  4. Word文档发布到CSDN博客

    目前大部分的博客作者在写博客这件事情上都会遇到以下3个痛点:1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.2.发布到博客或公众号平台 ...

  5. .NET基础 (02).NET运行机制

    .NET运行机制1 .NET程序被编译成什么形式的代码2 JIT是如何工作的3 简述程序集的加载机制4 如何配置程序集的版本策略 1 .NET程序被编译成什么形式的代码 .NET程序在编写完成后,会经 ...

  6. C# 单例模式(Singleton)

    摘要 在我们日常的工作中经常需要在应用程序中保持一个唯一的实例,如:IO处理,数据库操作等,由于这些对象都要占用重要的系统资源,所以我们必须限制这些实例的创建或始终使用一个公用的实例,这就是我们今天要 ...

  7. Android-看操作系统短信应用源码-隐式意图激活短信界面

    选择模拟器Unknown Google Nexus,在选择system_process(系统进程) 操作模拟器的,操作系统短信应用,让操作系统短信打印日志,来查看: 然后就找到来,操作系统短信应用打印 ...

  8. Android-bindService远程服务(Aidl)-初步

    之前上一篇讲解到本地服务,本地服务只能在自身APP中Activity访问Service,调用Service里面到方法等操作 如果想A应用访问B应用里面的方法,属于跨进程调用,如果Android不特供这 ...

  9. IO--RAID

    RAID IO计算 Raid 0 –每个磁盘的I/O计算= (读+写) /磁盘个数 Raid 1 --每个磁盘的I/O计算= [读+(2*写)]/2 Raid 5 --每个磁盘的I/O计算= [读+( ...

  10. ML.NET---.NET下的机器学习引擎(简介)

    ML.NET 是一个跨平台的开源机器学习框架,它可以使 .NET 开发人员更容易的开展机器学习工作. ML.NET 允许 .NET 开发人员开发自己的模型,即使没有机器学习的开发经验,也可以很容易的将 ...