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
相关推荐
koo3644 小时前
李宏毅机器学习笔记30
人工智能·笔记·机器学习
长桥夜波4 小时前
机器学习日报02
人工智能·机器学习·neo4j
Elastic 中国社区官方博客4 小时前
介绍 Elastic 的 Agent Builder - 9.2
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索
拓端研究室4 小时前
专题:2025年制造业数智化发展白皮书:数字化转型与智能制造|附130+份报告PDF、数据、绘图模板汇总下载
人工智能
就不爱吃大米饭4 小时前
ChatGPT官方AI浏览器正式推出:ChatGPT Atlas浏览器功能及操作全解!
人工智能·chatgpt
牛客企业服务4 小时前
企业招聘新趋势:「AI面试」如何破解在线作弊难题?
人工智能·面试·职场和发展·招聘·ai招聘
infominer4 小时前
数据处理像搭乐高?详解 RAGFlow Ingestion Pipeline
人工智能·ai-native
飞翔的佩奇4 小时前
【完整源码+数据集+部署教程】【运动的&足球】足球场地区域图像分割系统源码&数据集全套:改进yolo11-RFAConv
前端·python·yolo·计算机视觉·数据集·yolo11·足球场地区域图像分割系统
wudl55665 小时前
华工科技(000988)2025年4月22日—10月22日
大数据·人工智能·科技
世强硬创小助手5 小时前
世强硬创平台上新:天钰科技高集成AI SoC,助力客户解锁轻量智能家居新方案
人工智能·科技·智能家居