您可以省去如下步骤,直接下载我编译好的:

http://download.csdn.net/detail/u011258240/9710331

一、编译opencv2.4  不带contrib

1. 下载opencv源码

2. 将opencv 源码放在linux 的一个文件夹下(记得不要放在共享文件夹下,不然会出现软链接的错误)

3. opencv目录下新建文件夹 release  ( 注:如果是3.3版本,还要删除这两个文件,很关键 rm -rf CMakeCache.txt CMakeFiles, 如果cmake版本低还要更新cmake版本  :https://launchpad.net/ubuntu/+source/cmake/3.9.1-1)

4.新建opencv的安装文件夹,例如mkdir  /opencv1

5.  cd release

cmake ../  \

-DCMAKE_BUILD_TYPE=RELEASE \

-DCMAKE_INSTALL_PREFIX=/opencv3.3 \

-DWITH_TBB=1  \

-DWITH_PNG=1 \

-DWITH_TIFF=1 \

-DWITH_JPEG=1 \

-DWITH_JASPER=1 \

-DBUILD_SHARED_LIBS=0 \

-D INSTALL_C_EXAMPLE=OFF \
-D INSTALL_PYTHON_EXAMPLE=OFF \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.2.0/modules \
-D BUILD_EXAMPLES=ON ..

cmake ../  -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/opencv3.3 -DWITH_TBB=1  -DWITH_PNG=1 -DWITH_TIFF=1 -DWITH_JPEG=1 -DWITH_JASPER=1 -DBUILD_SHARED_LIBS=0

6. make

7, make install

然后查看文件夹opencv1,显示生成了静态库

root@lyj:/opencv1# ls lib
libopencv_calib3d.a     libopencv_flann.a    libopencv_legacy.a     libopencv_ocl.a        libopencv_ts.a
libopencv_contrib.a     libopencv_gpu.a      libopencv_ml.a         libopencv_photo.a      libopencv_video.a
libopencv_core.a        libopencv_highgui.a  libopencv_nonfree.a    libopencv_stitching.a  libopencv_videostab.a
libopencv_features2d.a  libopencv_imgproc.a  libopencv_objdetect.a  libopencv_superres.a   pkgconfig

8. 特别注意:opencv 编译的静态库并不包含libpng.a   libjpeg  等库,这些库也要自己编译。

9. 静态库的使用:记得一定要包含如下库,不然使用可能会出问题

-llibjasper 
-llibjpeg \
-llibpng \
-lIlmImf \
-llibtiff \
-ldl \
-lz \

二、 编译opencv3.3 + contrib 静态库

 

cd opencv-3.3.0

mkdir build

cd build

cmake ../ \
-DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=/opencv3.3 \
-DBUILD_SHARED_LIBS=0 \
-DINSTALL_C_EXAMPLE=OFF \
-DINSTALL_PYTHON_EXAMPLE=OFF \

-DENABLE_SSE=ON \

-DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.3.0/modules \
-DBUILD_EXAMPLES=OFF

opencv+ linux + cmake 生成 opencv静态库的更多相关文章

  1. CMAKE 生成VS2008静态库工程 与 CMAKE使用,CMakeLists.txt编写总结

    cmake -G"Visual Studio 9 2008 Win64" 以上命令得用cd命令切换到顶层CMakeLists.txt的当前目录,才能生效 以下是CMakeLists ...

  2. 学习 opencv---(6)玩转opencv源代码:生成opencv 工程解决方案与opencv 源码编译

    在这篇中,我们探讨如何通过已安装的opencv选择不同的编译器类型,生成高度还原的OpenCV开发时的解决方案工程文件,欣赏OpenCV新版本中总计 六十六多万行的精妙源代码.我们可以对其源代码进行再 ...

  3. linux中C的静态库和动态库分析

    从开始学C语言写第一个"hello world"历程到现在,我依然困惑于到底这个程序完整的执行流程是什么样的.不过,现在我正在尝试一点一点的揭开它的面纱.现在,我尝试分析linux ...

  4. linux系统环境下的静态库和动态库的制作

    linux系统下的应用编程需要系统提供的库文件,包括静态库或动态库.不管是静态库还是动态库,都是编译好的二进制文件.在我们编译程序时要链接的目标文件,静态库是链接的时候直接编译到程序里,和程序成为一体 ...

  5. Makefile 自动搜索 c 和 cpp 文件, 并生成 .a 静态库文件

    最近 又弄linux 下的 .a 静态库编译, 于是想 做个 一劳永逸的Makefile, 经过一番折腾, 最后成功了 只需要 改两个 参数 就可以执行了(MYLIB 和 VPATH), 代码 如下: ...

  6. CMake生成OpenCV解决方案&&编译OpenCV源码

    生成OpenCV工程需要用到CMake,所以第一步需要下载CMake软件,下载链接:CMake下载 目前最新的版本是3.7.1,这里选择下载Platform下的Windows win32-x86 ZI ...

  7. OpenCV linux cmake添加使用

    安装好opencv之后: 只需要添加一下,就可以方便的使用opencv了,find_package opencv 会寻找FindOpenCV.cmake find_package(OpenCV REQ ...

  8. 使用CMake编译跨平台静态库

    在开始介绍如何使用CMake编译跨平台的静态库之前,先讲讲我在没有使用CMake之前所趟过的坑.因为很多开源的程序,比如png,都是自带编译脚本的.我们可以使用下列脚本来进行编译:   . / con ...

  9. (转)HelloWorld CMake CMake中构建静态库与动态库及其使用

    继续完善Hello World,建立它的共享库, 包括静态库和动态库. 本节的任务: 1,建立一个静态库和动态库,提供HelloFunc函数供其他程序编程使用,HelloFunc 向终端输出Hello ...

随机推荐

  1. vue如何动态绑定v-model

    如图所示有三个字段要从弹出的输入框取值点击字段会弹出上面的弹窗,输入input会响应变化,比如点击身高,弹出输入框,输入值后身高后面会跟着一个同样的值点击体重,弹出输入框,输入值后体重后面会跟着一个同 ...

  2. Win10+VS2017配置pthread

    0.pthread源码下载:https://sourceware.org/pthreads-win32/ 1.下载pthreads-w32-2-9-1-release.zip完毕后,解压,内容如下 其 ...

  3. flutter Android打包

    以下内容均是在mac版本电脑上的操作 1.生成签名 //根目录执行以下命令 keytool -genkey -v -keystore ~/sign.jks -keyalg RSA -keysize 2 ...

  4. Delphi动态事件深入分析

    [delphi] view plain copy   print? 首先做一个窗体如下 然后单元中如下代码: 在implementation下面声明两个方法如下: //外部方法,只声明一个参数,此时按 ...

  5. Attention机制在深度学习推荐算法中的应用(转载)

    AFM:Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Ne ...

  6. python中计时模块timeit的使用方法

    timeit 模块: timeit 模块定义了接受两个参数的 Timer 类.两个参数都是字符串. 第一个参数是你要计时的语句或者函数. 传递给 Timer 的第二个参数是为第一个参数语句构建环境的导 ...

  7. window server2012R2激活

    slmgr /ipk D2N9P-3P6X9-2R39C-7RTCD-MDVJXslmgr /skms kms.03k.orgslmgr /ato

  8. Protel99SE推荐使用英文版

    Protel99SE的汉化版功能并不全,最好还是用英文原版,功能是最齐全的.用英文版的软件其实也不难,有限的几个词,习惯就好了.

  9. 字符串——kmp

    目录 一.前言 二.思路 三.代码 一.前言 kmp算法是用于从文本串text的字串中,寻找含有的模板串pattern的数量/位置的算法. 例如,在文本串abcabcccabc中,模板串abc的数量有 ...

  10. Windows10和Windows Server 2019支持OpenSSH

    从 Win10 1809 和 Windows Server 2019 开始 Windows 开始支持 OpenSSH Server.本文介绍一下其基本的概念和配置方法,本文演示用的环境为 Win10 ...