美文网首页
c++交叉编译opencv和libjpeg

c++交叉编译opencv和libjpeg

作者: this_is_for_u | 来源:发表于2019-04-30 14:02 被阅读0次

    背景

    实现ubuntu client和Arm 板子server之间的通信,server下发图片,client端不停接收图片做预览效果,起初使用网络传输opencv的mat,发现数据比较大,影响预览效果,所以采用libjpeg库压缩并显示,这就需要client端和server端都需要链接opencv和jpeg的链接库,就需要交叉编译。

    本地环境:ubuntu16.04

    opencv

    install dep
    sudo apt-get install build-essential
    sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
    sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
    

    本地编译方法

    1. 下载opencv源码3.4.6版本,我自己下载的 3.4.6版本,高版本不敢随便用...
    2. 下载成功后进入opencv目录,
    cd opencv-3.4.6
    
    mkdir build && cd build
    
    cmake -DCMAKE_BUILD_TYPE=Release 
    -DCMAKE_INSTALL_PREFIX=/usr/local ..
    
    make && make install
    

    这些操作后就会编译除opencv的动态链接库,并且拷贝到了/usr/local目录下。

    交叉编译方法

    1.同上

    1. 同上
      3.进入opencv-3.4.6/platform/linux目录,里面有很多工具链的配置文件,交叉编译前提是需要安装交叉编译的工具链,我的工具链安装方法:
    sudo apt-get install gcc-aarch64-linux-gnu
    sudo apt-get install g++-aarch64-linux-gnu
    
    cd opencv-3.4.6/platform/linux
    
    mkdir build_arm && cd build_arm
    
    cmake -DCMAKE_TOOLCHAIN_FILE=../*.cmake(此处选择工具链的配置文件) ../../..
    
    make
    

    即可编译成功

    libjpeg

    本地编译方法

    1. 下载 源码
    2. 进入jpeg 源码目录
    ./configure --prefix=./build(此处需要绝对路径,.是举例而已)
    
    make && make install
    

    交叉编译方法

    1.同上
    2.同上

    ./configure --prefix=./build_arm CC=aarch64-linux-gnu-gcc --host=aarch64-linux-gnu
    
    make && make install
    

    相关文章

      网友评论

          本文标题:c++交叉编译opencv和libjpeg

          本文链接:https://www.haomeiwen.com/subject/slapnqtx.html