嵌入式linux学习之opencv交叉编译

1.下载opencv源码

OpenCV官方源码下载链接为https://opencv.org/releases/,选择3.4.16版本下载。放在ubuntu系统\~/opencv文件夹中,解压缩,opencv文件夹中新建build和install文件夹用于存放编译文件和安装文件:

2. 安装编译工具

  • 安装 cmake 和 cmake-gui 工具
    sudo apt-get install cmake cmake-qt-gui cmake-curses-gui
  • 安装交叉编译器arm-none-linux-gnueabihf

3.安装opencv前安装环境依赖

sudo apt-get install build-essential

sudo apt-get install libopenblas-dev

sudo apt-get install git pkg-config libavcodec-dev libavformat-dev libswscale-dev

处理图像所需的包

sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev

处理视频所需的包

sudo apt-get install libxvidcore-dev libx264-dev

优化opencv功能

sudo apt-get install libatlas-base-dev gfortran

sudo apt-get install ffmpeg

4. 编译

进入build文件夹

命令cmake-gui

执行完成后会出现图形化工具 cmake-gui

问题汇总:

问题1:

/arm-none-linux-gnueabihf/libc/usr/include/features.h:311:52: error: operator '&&' has no right operand

#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64

解决:

在#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64前面 加上

#define _FILE_OFFSET_BITS 64

问题2

若出现recipt target for all failed

解决:

继续执行刚刚的make指令就跳过了

相关推荐
YangYang9YangYan4 小时前
2026运营岗位学习数据分析对于提升个人能力的价值
学习·数据挖掘·数据分析
lzhdim4 小时前
SQL 入门 14:SQL 触发器与事件:自动化数据处理
linux·前端·数据库·sql·自动化
吃好睡好便好4 小时前
在Matlab中绘制抛物三维曲面图
开发语言·人工智能·学习·算法·matlab·信息可视化
Bechamz4 小时前
大数据开发学习Day33
大数据·学习
脆皮炸鸡7554 小时前
库制作与原理~静态库&静态链接
linux·经验分享·笔记·学习方法
wangjialelele4 小时前
Linux SystemV 消息队列 + 责任链模式:实现客户端消息处理流水线
linux·服务器·c语言·网络·c++·责任链模式
|_⊙4 小时前
Linux 深入理解文件(Ext2文件系统:下)
linux·服务器·数据库
cui_ruicheng4 小时前
Linux网络编程(一):网络基础与协议概念
linux·网络·操作系统
星夜夏空994 小时前
STM32单片机学习(12)——串口通信相关概念
stm32·单片机·学习
HSunR4 小时前
神经网络 从函数到transformer学习笔记
神经网络·学习·transformer