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

相关推荐
WIN赢1 小时前
【数据结构与算法_学习精华】
学习
乌萨奇也要立志学C++1 小时前
【Linux】基础IO(一)Linux 文件操作从入门到实践:系统调用、文件描述符、重定向,为自定义Shell添加重定向
linux·运维·chrome
黎宇幻生5 小时前
Java全栈学习笔记39
java·笔记·学习
liujing102329295 小时前
stm32大项目阶段20251015
linux
嵌入式郑工6 小时前
LINUX驱动开发: 设备和驱动是怎么匹配的?
linux·运维·服务器
诸葛悠闲7 小时前
XCP协议在以太网上实现的配置
学习
郭式云源生法则7 小时前
归档及压缩、重定向与管道操作和综合使用,find精确查找、find处理查找结果、vim高级使用、vimdiff多文件使用
linux·运维·服务器
一张假钞7 小时前
Ubuntu 24.04 安装 Jenkins
linux·ci/cd·jenkins
tuokuac8 小时前
查看你电脑上某个端口正在被哪个进程占用
linux
MANONGMN8 小时前
Linux 通配符与正则表达式(含实战案例+避坑指南)
linux·运维·正则表达式