Raspberry Pi 3b+ qt5.12.4

hardware

Based on Raspberry Pi 3b+ qt5.12.4. PC (ubuntu18 64 bit), Raspbian Stretcheith desktop

Ready to work

raspberry pie
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. Cross compilation tool chain

linaro

  1. See if there is a C/C++ compilation environment
sudo apt-get install build-essential
  1. Make 64-bit systems compatible with 32-bit libraries:
sudo apt install lib32ncurses5 lib32z1
  1. Create and configure 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. Configure 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. Configure the qt library:
./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. Fix Qt's eglfs_brcm backend is using vchiq device

After modification, you can run the qt interface without enabling the desktop

#修改
 /boot/config.txt
 注释掉dtoverlay=vc4-kms-v3d
  1. Add font library
#下载字体库
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 

Guess you like

Origin blog.csdn.net/qq_32312307/article/details/114907319