opencv交叉编译

适用于瑞芯微,海思,酷芯等ARM平台。采用编译脚本配置编译选项,方便编译。

目录

一、创建目录

二、工具链配置

三、编译脚本

四、编译


一、创建目录

bash 复制代码
mike@mike-virtual-machine:opencv-4.12/opencv/opencv$ tree . -L 1
.
├── 3rdparty
├── apps
├── armlinux.toolchain.cmake
├── build
├── build.sh
├── cmake
├── CMakeLists.txt
├── CONTRIBUTING.md
├── COPYRIGHT
├── data
├── doc
├── include
├── install
├── LICENSE
├── modules
├── platforms
├── README.md
├── samples
└── SECURITY.md

11 directories, 8 files

二、工具链配置

armlinux.toolchain.cmake

cpp 复制代码
cmake_minimum_required(VERSION 3.15)

if (DEFINED ENV{__ITA_ARM_TOOLCHAIN_HAS_RUN})
    return()
endif()
set(ENV{__ITA_ARM_TOOLCHAIN_HAS_RUN} true)

if (NOT DEFINED CMAKE_SYSTEM_NAME)
set(CMAKE_SYSTEM_NAME "Linux")
endif()

if (NOT DEFINED CMAKE_SYSTEM_PROCESSOR)
    set(CMAKE_SYSTEM_PROCESSOR arm)
endif()


set(CMAKE_C_COMPILER "${TOOLCHAIN}-gcc")
set(CMAKE_CXX_COMPILER "${TOOLCHAIN}-g++")

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

三、编译脚本

build.sh

cpp 复制代码
#!/bin/bash


BUILD_TYPE=Release
INSTALL_DIR=build/install
TOOLCHAIN=arm-linux-gnueabihf

cmake .. \
	-DCMAKE_TOOLCHAIN_FILE=armlinux.toolchain.cmake \
	-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
	-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \
	-DTOOLCHAIN=${TOOLCHAIN} \
	-DBUILD_opencv_world=ON \
	-DBUILD_TESTS=OFF \
    -DBUILD_EXAMPLES=OFF \
    -DBUILD_ANDROID_EXAMPLES=OFF \
    -DINSTALL_ANDROID_EXAMPLES=OFF 
	

四、编译

bash 复制代码
cd build/
bash 复制代码
../build.sh
bash 复制代码
cmake --build . --config Release -- -j16

先用多线程加速编译,编译到后半段会报错,终止。此时再改成单线程编译即可编译通过。

bash 复制代码
make install
相关推荐
企业智能研究5 分钟前
企业如何高效构建BI团队,解锁数据价值新高地?
大数据·数据库·人工智能
我想睡觉2618 分钟前
Python训练营打卡DAY51
开发语言·人工智能·python·深度学习·机器学习
Blossom.11810 分钟前
基于生成对抗网络(GAN)的图像生成与编辑:原理、应用与实践
人工智能·python·深度学习·机器学习·计算机视觉·分类·tensorflow
欧博东方(北京)文化传媒有限公司13 分钟前
2025年AI生成PPT平台推荐榜单:五大智能工具革新演示创作体验
人工智能·powerpoint
Abbylolo14 分钟前
AI助手一键生成专业PPT(Gamma/Genspark/Kimi)
人工智能·powerpoint
海底火旺25 分钟前
从零实现语音合成:基于火山引擎TTS的前端实践
前端·人工智能·react.js
atbigapp.com33 分钟前
告别excel:AI 驱动的数据分析指南
人工智能·数据分析·aigc
只有左边一个小酒窝1 小时前
(十)量子注意力机制:深度学习与量子计算的交叉融合探索
人工智能·深度学习
nuise_1 小时前
李沐 《动手学深度学习》 | 实战Kaggle比赛:预测房价
人工智能·深度学习
苏苏susuus1 小时前
深度学习:PyTorch简介
人工智能·pytorch·深度学习