ubuntu20.04 arm-linux-gnueabihf交叉编译opencv4.7.0 与opencv-contrib-4.7.0

Posted 洪流之源

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu20.04 arm-linux-gnueabihf交叉编译opencv4.7.0 与opencv-contrib-4.7.0相关的知识,希望对你有一定的参考价值。

  1. 安装交叉编译工具链

编译的目标硬件是RV1126,编译工具链为32位的arm-linux-gnueabihf,本次使用的是8.3版本,可在Downloads | GNU-A Downloads – Arm Developer进行下载。

下载后,解压到自己的安装目录,比如解压到/opt目录下:

然后将bin目录配置到PATH环境变量即可,比如在~/.bashrc中设置:

export PATH="$PATH:/opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/"

  1. 安装cmake

cmake的安装可以多种方式,这里选择官网下载指定版本的cmake源码,进行编译安装。

官网:https://cmake.org/download/,比如下载cmake-3.25.1.tar.gz源码:

在编译安装前首先安装openssl,命令如下:

sudo apt-get install libssl-dev

解压cmake-3.25.1.tar.gz,进入到源码目录,执行如下命令,进行配置、编译、安装:

./bootstrap
make -j$(nproc)
sudo make install

在安装的过程中,注意安装的路径,一般默认安装到/usr/local/bin/目录下:

将/usr/local/bin配置到PATH环境变量即可,比如在~/.bashrc中设置:

export PATH="$PATH:/usr/local/bin"

  1. 编译安装opencv-4.7.0、opencv-contrib-4.7.0

编译安装的步骤与x86平台类似,可参考文章:

(168条消息) Ubuntu20.04 编译opencv-4.5.0与opencv-contrib-4.5.0_洪流之源的博客-CSDN博客_opencv-contrib4.5.0

不过编译的命令与x86平台有差别,build.sh修改如下:

#!/bin/bash

set -e

if [[ ! -d build-arm-linux-gnueabihf ]]; then
 mkdir build-arm-linux-gnueabihf
fi
 
cd build-arm-linux-gnueabihf
rm -rf *
 
cmake -D CMAKE_BUILD_TYPE=RELEASE \\
      -D CMAKE_C_COMPILER=arm-linux-gnueabihf-gcc \\
      -D CMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++ \\
      -D CMAKE_INSTALL_PREFIX=install \\
      -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.7.0/modules \\
      -D OPENCV_ENABLE_NONFREE=ON \\
      -D WITH_GTK=OFF \\
      -D WITH_PNG=OFF \\
      ..
 
make -j$(nproc)
 
make install

主要是添加了交叉编译工具链、关闭了GTK、PNG的编译选项。

以上是关于ubuntu20.04 arm-linux-gnueabihf交叉编译opencv4.7.0 与opencv-contrib-4.7.0的主要内容,如果未能解决你的问题,请参考以下文章

Windows10和ubuntu20.04 LTS 双系统安装(ubuntu20.04)

Ubuntu20.04 Attentions

ubuntu20.04安装教程TLS,ubuntu安装教程20.04

ubuntu20.04安装教程TLS,ubuntu安装教程20.04

Ubuntu更新到Ubuntu20.04了

ubuntu 20.04 on windows怎么打开桌面