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

相关推荐
云栈开源日记1 小时前
Python 开发技术栈梳理:从数据库、爬虫到 Django 与机器学习
数据库·爬虫·python·学习·机器学习·django
青衫码上行1 小时前
【Java Web学习 | 第15篇】jQuery(万字长文警告)
java·开发语言·前端·学习·jquery
倔强的石头1062 小时前
openGauss数据库:从CentOS 7.9部署到实战验证
linux·数据库·centos
梁正雄3 小时前
linux服务-Nginx+Tomcat+Redis之Session 共享 - 容器单机版
linux·nginx·tomcat
江河地笑5 小时前
opencv、cmake、vcpkg
人工智能·opencv·计算机视觉
linchare5 小时前
linux debian上只装mysql的客户端步骤
linux·mysql·debian
必胜的思想钢印5 小时前
修改主频&睡眠模式&停机模式&待机模式
笔记·stm32·单片机·嵌入式硬件·学习
百***75747 小时前
linux上redis升级
linux·运维·redis
顾安r8 小时前
11.22 脚本打包APP 排错指南
linux·服务器·开发语言·前端·flask
Neur0toxin8 小时前
入侵排查_2025/11/23
linux·windows·应急响应