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相关的知识,希望对你有一定的参考价值。
安装交叉编译工具链
编译的目标硬件是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/"
安装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"
编译安装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安装教程TLS,ubuntu安装教程20.04