美文网首页
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