QT

目前编译测试版本为5.15.3。

tslib移植

如果使用openwrt编译的话,可以跳过本步骤,但是编译QT时需要用openwrt下的tslib路径

sudo apt-get install autoconf automake libtool autogen pkg-config
wget https://github.com/libts/tslib/releases/download/1.22/tslib-1.22.tar.xz
tar xvf tslib-1.22.tar.xz
cd tslib-1.22
./autogen.sh
./configure --prefix=/home/u64/tslib-1.22/install --host=arm-linux-gnueabihf  #注意修改目录
make
make install

QT移植

下载修改好的QT 5.15.3 链接: https://pan.baidu.com/s/1KeMngt3NXEukRmWv_dGemw 密码: 8rvf

nossl

# 修改build.sh里面tslib的目录
build.sh # 编译QT

openwrt+ssl

# 修改build.sh里面tslib和openwrt staging的目录
build_openwrt.sh # 编译QT

示例工程

在qt5中自带了一些examples工程,位于qtbase/examples目录下,我们可以通过example/widgets/widgets/movie这个demo来验证qt能否正常工作。

编辑qtbase/examples/widgets/widgets/movie/movie.pro,做以下修改: qt_hello

编译

qmake
make ARCH=arm

验证

  1. 创建一个QT配置文件,/opt/qt_env.sh

export TSLIB_PLUGINDIR=/opt/lib/ts 
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_CONFFILE=/opt/etc/ts.conf 
export TSLIB_TSDEVICE=/dev/input/event0
export QT_QPA_PLATFORM=linuxfb
export QT_QPA_FONTDIR=/etc/font
  1. 把tslib编译的lib、bin和etc目录下的文件打包拷贝到/opt目录下

# 宿主机
cd tslib-1.22/install/
tar cvf tslib.tar bin etc lib
# 目标机
cd /opt
tftp -g 192.168.1.100 -r tslib.tar
tar xvf tslib.tar
  1. 将使用的字库文件重命名为fzcircle.ttf后,拷贝到/etc/font目录下

  2. 生效QT环境变量

  3. 拷贝tbase/examples/widgets/widgets/movie目录下的movie及animation.gif到/opt目录下

cd /opt
source ./qt_env.sh
chmod +x movie
ssd20x-lcd-init & # 初始化屏幕
movie # 运行工程
qt_disp