在树莓派Ubuntu 23.10上编译opencv3.4.14

目录

1、在树莓派上安装C++编译环境

本文针对的环境是树莓派 ,且操作系统为ubuntu desktop 23.10。

首先安装编译环境:gcc、g++、gdb(调试器),安装命令如下:

bash 复制代码
sudo apt install build-essential gdb

接下来安装安装clang(编译器)、llvm(编译器)、lldb(调试器),安装命令如下:

bash 复制代码
sudo apt install clang llvm lldb

再安装cmake编译工具以及树莓派摄像头驱动库:

bash 复制代码
sudo apt-get install cmake libcanberra-gtk-module

最后,为了能方便我们在树莓派上编写和编译C++代码,推荐在树莓派上安装Qt。安装命令如下:

bash 复制代码
sudo apt-get install qtbase5-dev qtbase5-dev-tools qtchooser qt5-qmake qtcreator qtbase5-examples qtbase5-doc-html

安装完成后,在树莓派的搜索菜单中找到Qt Creator,这个就是Qt对应的IDE了,我们可以使用它来方便的进行C++代码的编写。

2、编译opencv

首先安装一些编译OpenCV所依赖的工具:

bash 复制代码
sudo apt-get install libgtk2.0-dev pkg-config libswscale-dev libjpeg-dev libpng-dev libtiff-dev

接下来我们从OpenCV官网下载OpenCV3.4.14的Sources源码到树莓派上,下载网址:https://opencv.org/releases/。

解压缩以后进入opencv-3.4.14目录,按照下述命令进行编译:

bash 复制代码
mkdir build 
cd build
cmake .. 
sudo make 
sudo make install

上述编译过程需要数小时才能完成。

由于最新的树莓派Ubuntu 23.10操作系统默认安装的gcc和g++编译工具版本较高,在编译过程中可能会出现下述错误:

bash 复制代码
error: comparing the result of pointer addition '(src + ((sizetype)off))' and NULL [-Werror=address]

这个问题的解决方案是找到"./build/modules/"路径下出错模型对应的"flags.make"文件,使用文本编辑器打开,

删除其中的" -Werror=address"这些字符,然后进行保存。再次运行sudo make编译即可。

相关推荐
无垠的广袤7 天前
【ED-CLAWBOX】智能家居枢纽
linux·物联网·docker·智能家居·树莓派·aiot·home assistant
Raspberry_Pi_官方账号10 天前
Raspberry Pi Desktop 全面升级,现已登陆 PC 和 Mac
服务器·网络·macos·树莓派·raspberry pi·raspberrypios
Raspberry_Pi_官方账号12 天前
观察、理解与响应:Raspberry Pi 5 上的低功耗 CNN、VLM 和 SLM 工作负载
人工智能·神经网络·cnn·树莓派·raspberrypi
2401_8724187813 天前
树莓派4B迷你便携小电脑制作及应用
电脑·树莓派·diy
优信电子14 天前
Raspberry Pi Pico 硬件开发 —— 第二课:MicroPython 从入门到项目实践(LED篇)
单片机·嵌入式硬件·树莓派·micropython·pico·入门教学
LCG元17 天前
树莓派 Pico RP2040 PIO 逻辑分析仪实战:SM 指令周期拆解、DREQ 触发 DMA 环形缓冲与采样率参数实测
嵌入式·树莓派·rp2040
encoderlee21 天前
ubuntu server 如何播放视频显示网页
linux·ubuntu·音视频·树莓派·ubuntu server·arm嵌入式
Raspberry_Pi_官方账号22 天前
Raspberry Pi 官方分享:利用 14MB 的 Function-Calling LLM 实现端侧自然语言硬件控制
python·树莓派·raspberry pi
菲斯奇1 个月前
老骥伏枥:树莓派 4B 重装 64 位系统后接管日常
树莓派
Raspberry_Pi_官方账号1 个月前
在 Raspberry Pi 上构建一个数字主权的“第二大脑”
树莓派·syncthing·raspberrypi·logseq