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

相关推荐
忆挽篱笙歌几秒前
冯诺依曼+操作系统+进程
linux·ubuntu
和侧1 小时前
MOS器件——ESD测试
笔记·学习
优化Henry1 小时前
光路异常告警排查实战:LTE室分与5G小区两个案例解析
运维·网络·学习·5g·tdd
Apipi*1 小时前
30天速通Linux 第九章Linux网络编程
linux·运维·网络
报错小能手1 小时前
Channel面试题。Sync面试题
linux·服务器·windows
xiaoqiMikko1 小时前
Linux 实战(五):DNS、hosts、CLOSE-WAIT、SSH 权限与改端口 —— 三台真机实测
linux·centos
田里的水稻1 小时前
EI_模仿学习IL---工程链路
人工智能·深度学习·学习·机器学习·迁移学习
Linux-lucky1 小时前
43-Linux学习之旅之Shell 脚本(二)
linux·运维·学习·ubuntu·dash
XHGILY3332 小时前
职业院校实习计划制定:科学规划与落地执行策略深度解析
学习
yv798an2 小时前
从 OpenSBI 引导到 C++17 异步运行时:自制 RISC-V 嵌入式专有 NAS 踩坑全记录
linux