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
相关推荐
giszz14 小时前
【WorkBuddy专栏14】专家不是「换皮」——角色切换、训练机制与自我进化深度拆解
人工智能
zzu123zsw14 小时前
skillup Basic 桌面客户端
人工智能
关山月14 小时前
实战指南:利用 Git Worktrees 实现同仓库多 AI Agent 并行开发
人工智能
君为先-bey14 小时前
JointDiT:使用扩散变换器增强RGB-深度联合建模
人工智能·深度学习·计算机视觉·扩散模型·图像生成
keruilai076914 小时前
多尘潮湿工业复杂工况 防腐耐用降温设备适配现场环境
人工智能
linqiw14 小时前
OpenSpec规约编程实践
人工智能·ai编程·claude
继续商行14 小时前
解决 Go 大数据切片 GC 暂停:使用 pprof 性能工具定位内存瓶颈
人工智能
高谷深陵15 小时前
《企业 AI 落地工程实战》第一季「认知论述」· 开篇|从 Demo 野蛮搭建到工程化规范落地
人工智能·ai应用落地
萤丰信息15 小时前
AI 重构园区运维|全场景无人化智慧运维:破解传统物业高成本痛点
运维·人工智能·重构
毕竟是shy哥15 小时前
基于提示引导适配器的实体级对齐遥感图文检索
人工智能·学习·bert·transformer