# 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 ``` 2. 把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 ``` 3. 将使用的字库文件重命名为fzcircle.ttf后,拷贝到/etc/font目录下 4. 生效QT环境变量 5. 拷贝tbase/examples/widgets/widgets/movie目录下的moive及animation.gif到/opt目录下 ``` cd /opt source ./qt_env.sh chmod +x movie ssd20x-lcd-init & # 初始化屏幕 movie # 运行工程 ``` qt_disp