在树莓派和Ubuntu上配置Qt + OpenCV的交叉编译环境——2. Qt的交叉编译(带EGLFS支持)
本系列导航
1. 对交叉编译的基本理解
2. Qt的交叉编译(带EGLFS支持)
3. OpenCV的交叉编译(OpenCV4.5.0)
文章目录
目标
- 在 PC端(Ubuntu) 上编译的 Qt程序 能够在 树莓派 上执行
- 交叉编译的Qt要带EGLFS支持。
EGLFS是一个Qt5的平台插件,它的作用就是让QT应用直接运行在EGL和OpenGL ES 2.0上。说白了,就是能让你绕过图形桌面,直接从显卡输出Qt图像到屏幕。
一、环境介绍
- 硬件设备
树莓派 Raspberry Pi 4B,镜像版本为2021-01-11-raspios-buster-armhf-full;
PC端的Ubuntu18.04(在VMware 16.0 Pro虚拟机上运行)。 - 软件版本
Qt 5.14.2
二、在树莓派上的前期准备
!!注意!!
这部分操作全部在树莓派上进行
1. 更新树莓派固件(本地更新)
如果直接执行
sudo rpi-update
大概率不会成功,因此直接提供本地更新的方法。
Click Me,链接至本地更新方法
2. 在树莓派上安装依赖包
这里有的没的建议都安装上,防止后面交叉编译缺少依赖。下面的包可能有重复的,为了保险可以都执行一遍,如果树莓派发现包已经安装过了,只是会提示,并不会造成隐患或不好的影响。
先更新。
sudo apt-get update
sudo apt-get upgrade
再安装。
sudo apt-get install libboost1.58-all-dev libudev-dev libinput-dev libts-dev libmtdev-dev libjpeg-dev libfontconfig1-dev libssl-dev libdbus-1-dev libglib2.0-dev libxkbcommon-dev
sudo apt-get install libgles2-mesa-dev libgbm-dev
sudo apt-get install ttf-wqy-zenhei
sudo apt-get install gdbserver
sudo apt-get build-dep qt4-x11
sudo apt-get build-dep libqt5gui5
sudo apt-get install libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0
sudo apt-get install libfontconfig1-dev libdbus-1-dev libfreetype6-dev libicu-dev libinput-dev libxkbcommon-dev libsqlite3-dev libssl-dev libpng-dev libjpeg-dev libglib2.0-dev libraspberrypi-dev libpq-dev libmariadbclient-dev bluez libbluetooth-dev build-essential
sudo apt-get install libboost1.58-all-dev libudev-dev libinput-dev libts-dev libmtdev-dev libjpeg-dev libfontconfig1-dev libssl-dev libdbus-1-dev libglib2.0-dev libxkbcommon-dev
sudo apt-get install dbus-*dev
sudo apt install libfontconfig1-dev libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxkbcommon-x11-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev
sudo apt install ninja-build libdrm-dev
3. 在树莓派上建立文件夹并修改权限
sudo mkdir /usr/local/qt5pi # 用来安装qt运行库
sudo chown -R pi:pi /usr/local/qt5pi
mkdir /home/pi/qt5 # 用来存放以后自己写的qt程序可执行文件
4. 在树莓派上开启GL Driver,并以命令行模式启动
sudo raspi-config
选择 1 System Options
选择 S5 Boot / Auto Login
选择 B2 Console Autologin
注:如果之后还想开机进入桌面的话,同样在这里修改,选择 B4 Desktop Autologin 即可。
然后按照系统提示重启,重启后自动进入命令行。