树莓派3b+ qt5.12.4

硬件

基于树莓派3b+ qt5.12.4. PC(ubuntu18 64位), 树莓派(Raspbian Stretcheith desktop)

准备工作

树莓派
1.更新固件 
sudo rpi-update
reboot

2.配置
sudo raspi-config
#1. 打开SSH协议
#2. 调整GPU显存
#3. 打开硬件加速

3. 取消sources.list 文件中的注释deb-src这行
sudo leafpad /etc/apt/sources.list

4. 下载需要的开发包
sudo apt-get update

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 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

5. 准备目标文件夹
sudo mkdir /usr/local/Qt5.12.4
sudo mkdir pi:pi /usr/local/Qt5.12.4

sudo chmod -R 777 /opt
sudo apt-get install gdbserver

6. 增加分辨率
sudo nano ~/.profile
添加:
export QT_QPA_EGLFS_PHYSICAL_WIDTH=1920
export QT_QPA_EGLFS_PHYSICAL_HEIGHT=1080
source .profile
PC
1. 在电脑上创建工作文件夹
mkdir ~/raspi
cd ~/raspi
  1. 交叉编译工具链

linaro

  1. 看看有没有C/C++编译环境
sudo apt-get install build-essential
  1. 使64位系统兼容32位的库:
sudo apt install lib32ncurses5 lib32z1
  1. 创建和配置sysroot
mkdir sysroot sysroot/usr sysroot/opt
rsync -avz pi@raspberrypi_ip:/lib sysroot
rsync -avz pi@raspberrypi_ip:/usr/include sysroot/usr
rsync -avz pi@raspberrypi_ip:/usr/lib sysroot/usr
rsync -avz pi@raspberrypi_ip:/opt/vc sysroot/opt

wget https://raw.githubusercontent.com/riscv/riscv-poky/master/scripts/sysroot-relativelinks.py
chmod +x sysroot-relativelinks.py
./sysroot-relativelinks.py sysroot
  1. 配置Qt
编辑./qtbase/mkspecs/devices/linux-rasp-pi3-g++/qmake.conf文件:

1. 分别将所有的-LEGL替换成-LbrcmEGL, -LGLESv2替换成-LbrcmGLESv2.
2. 修正文件中的4处错误,修正后如下:
VC_LIBRARY_PATH     = $$[QT_SYSROOT]/opt/vc/lib
VC_INCLUDE_PATH     = $$[QT_SYSROOT]/opt/vc/include

VC_LINK_LINE            = -L$${VC_LIBRARY_PATH}
QMAKE_LIBDIR_OPENGL_ES2     = $${VC_LIBRARY_PATH}
  1. 配置qt库:
./configure -release -opengl es2 -device linux-rasp-pi3-g++ -device-option CROSS_COMPILE=/home/Arm/linaro/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /home/Arm/linaro/sysroot -opensource -confirm-license -skip qtwayland -skip qtlocation -skip qtscript -make libs -prefix /usr/local/Qt5.12.4 -extprefix /home/Arm/linaro/Qt5.12.4 -hostprefix /home/Arm/linaro/Qt5.12.4-host -no-use-gold-linker -v -no-gbm -skip qtwebengine 
make -j4
make install

rsync -avz Qt5.12.4 pi@raspberrypi_ip:/usr/local
  1. 修复Qt的eglfs_brcm后端正在使用vchiq设备

修改后就可以在不启用桌面的情况下运行qt界面

#修改
 /boot/config.txt
 注释掉dtoverlay=vc4-kms-v3d
  1. 添加字体库
#下载字体库
sudo apt-get install ttf-wqy-zenhei

#复制字体库到qt字体库目录

# 中文字库
sudo cp 
/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc /usr/local/Qt5.12.4/lib/fonts

# 英文字库
sudo cp 
/usr/share/fonts/truetype/dejavu/*  /usr/local/Qt5.12.4/lib/fonts 

猜你喜欢

转载自blog.csdn.net/qq_32312307/article/details/114907319