交叉编译opencv(Cpp)于arm64架构开发板上

适用于开发板离线+极简系统;

采用外部主机交叉编译+传输的思路

1.工具与环境需求

交叉编译工具,如aarch64-linux-gnu-gcc/g++

cmake基础编译工具

复制代码
sudo apt install aarch64-linux-gnu-gcc aarch64-linux-gnu-g++ cmake

2.下载源码

进入工作目录;

git clone opencv的库到本地,并选择相应版本

复制代码
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 4.8.0

克隆下来的东西都会放在当前目录的opencv目录下;

在当前目录,创建build、opencv-arm-install文件夹,用于存放编译与安装结果。

3.编译安装

同一目录下,新建一个工具链文件toolchain.cmake,写入内容:

复制代码
SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_SYSTEM_PROCESSOR aarch64)

SET(CMAKE_SYSROOT /home/why/arm-sysroot)

SET(CMAKE_C_COMPILER /usr/bin/aarch64-linux-gnu-gcc)
SET(CMAKE_CXX_COMPILER /usr/bin/aarch64-linux-gnu-g++)
SET(CMAKE_FIND_ROOT_PATH  /home/why/arm-sysroot)

SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

注意:根据主机具体位置修改

CMAKE_SYSROOT 环境变量为交叉编译工具链的系统文件,包括了工具链的头文件库文件。

可以通过开发板现有的arm架构库拷贝;或者自主编译构造;

自主编译可见: 于离线OpenEuler系统开发板上安装g++/gcc及各类基础库-CSDN博客

CMAKE_C_COMPILER 环境变量为交叉编译工具链的位置

可以通过which查询

进入编译目录,进行编译

复制代码
cd build

cmake ../opencv \
    -DCMAKE_TOOLCHAIN_FILE=../toolchain.cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/home/why/projects/opencv/opencv-arm-install \
    -DBUILD_SHARED_LIBS=ON \
    -DBUILD_TESTS=OFF \
    -DBUILD_PERF_TESTS=OFF \
    -DBUILD_EXAMPLES=OFF \
    -DWITH_TIFF=OFF \
    -DWITH_QT=OFF \
    -DWITH_GTK=OFF \
    -DWITH_OPENGL=OFF \
    -DWITH_V4L=OFF \
    -DWITH_JPEG=ON \
    -DWITH_PNG=ON \
    -DBUILD_opencv_python=OFF

注意修改DCMAKE_INSTALL_PREFIX 环境变量为我们刚刚创建的/opencv-arm-install目录

编译,安装(过程需要一定时间)

复制代码
make -j$(nproc) 
make install

此时在我们创建的opencv-arm-install目录下,就可以找到编译出来的各个文件;

文件结构通常包括lib、include、bin等目录;

将整个opencv-arm-install打包,传输到开发板;解压到主目录下的usr/文件夹下,即可成功将opencv的各种库文件安装进开发板系统目录。

相关推荐
xqqxqxxq2 分钟前
技术笔记:上下文工程(Context Engineering)心得总结(李博杰《深入理解 AI Agent》2.1,2.2观后总结)
人工智能·笔记
成都被卷死的程序员2 分钟前
生活与工作AI高效使用指南
人工智能·生活
万岳科技系统开发5 分钟前
智慧医院小程序开发推动医疗服务流程全面线上化
大数据·开发语言·人工智能
用户81818706274610 分钟前
第5章 核心对象与配置系统
人工智能
Litluecat14 分钟前
2026年7月24日科技热点新闻
人工智能·科技·新闻·每日·速览
用户81818706274618 分钟前
第6章 thinkingLevel 思维层级体系
人工智能
熙丫 1338148238626 分钟前
人工智能训练工程师考试报名2026:报考条件、报名入口及注意事项
人工智能
凡情31 分钟前
dify 图片提取文字
人工智能
恒知学术41 分钟前
SCI 文献怎么检索?英文关键词、DOI、被引量和开放获取线索整理
人工智能·深度学习·sci·文献检索·谷歌学术·doi
greatonce1 小时前
巨益及核全球电商业财一体化方案 | 行业能力概览
人工智能