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,做以下修改:
编译
qmake
make ARCH=arm
验证
创建一个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
把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
将使用的字库文件重命名为fzcircle.ttf后,拷贝到/etc/font目录下
生效QT环境变量
拷贝tbase/examples/widgets/widgets/movie目录下的movie及animation.gif到/opt目录下
cd /opt
source ./qt_env.sh
chmod +x movie
ssd20x-lcd-init & # 初始化屏幕
movie # 运行工程