嵌入式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指令就跳过了

相关推荐
IVEN_17 小时前
Python OpenCV: RGB三色识别的最佳工程实践
python·opencv
Johny_Zhao1 天前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
chlk1233 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑3 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件3 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号3 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash3 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI4 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行4 天前
Linux和window共享文件夹
linux
木心月转码ing5 天前
WSL+Cpp开发环境配置
linux