讯为IMX6ULL-QT移植之在开发板上部署QT运行环境

一、开始部署

        1.我们在 Ubuntu 新创建一个文件夹qt_system,然后把我们用 busybox 做好的文件系统rootfs.tar.bz2拷贝到这个文件夹下

                 mkdir  qt_system

                 cd  qt_system

        2.解压rootfs.tar.bz2,如下图

                tar -xvf  rootfs.tar.bz2

        3.我们在这个解压出来的根文件系统下新创建一个 opt 的文件夹

                mkdir  opt

        4.我们把之前编译好的触摸和 QT 拷贝到我们在这个路径下新创建的 opt 目录下

        

                cp -rf  /opt/qt5.7.0/ .

                 cp -rf  /opt/tslib1.4/ .

        5. 我们返回到解压根文件系统的目录下,然后我们打开根文件系统的 etc/profile 文件,并添加一下内容

                vi  etc/profile

EVENT=$(cat /proc/bus/input/devices | grep -E 'TSC2007|ft5x0x_ts|goodix-ts' -A4 | tail -n1 | awk '{print $NF}')

export TSLIB_ROOT=/opt/tslib1.4
export TSLIB_TSDEVICE=/dev/input/$EVENT
export TSLIB_CONFFILE=/opt/tslib1.4/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_PLUGINDIR=/opt/tslib1.4/lib/ts
export TSLIB_CONSOLEDEVICE=none

export QT_ROOT=/opt/qt5.7.0
export QT_QPA_FONTDIR=$QT_ROOT/lib/fonts
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0 

export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:$QT_ROOT/lib:$TSLIB_ROOT/lib/

解释其中内容: 

 自动获取触摸的设备节点,变量EVENT的值可能是event0,event2.......等
EVENT=$(cat /proc/bus/input/devices | grep -E 'TSC2007|ft5x0x_ts|goodix-ts' -A4 | tail -n1 | awk '{print $NF}')

触摸库所在的位置
export TSLIB_ROOT=/opt/tslib1.4

触摸屏设备文件
export TSLIB_TSDEVICE=/dev/input/$EVENT

tslib模块配置文件
export TSLIB_CONFFILE=/opt/tslib1.4/etc/ts.conf

指定触摸屏校准文件pintercal的存放位置
export TSLIB_CALIBFILE=/etc/pointercal

设定控制台设备为 none ,否则默认为 /dev/tty ,这样可以避免出现“ open consoledevice: No such file or directory KDSETMODE: Bad file descriptor ” 的错误
export TSLIB_CONSOLEDEVICE=none

qt库所在的路径
export QT_ROOT=/opt/qt5.7.0

qt字库的目录
export QT_QPA_FONTDIR=$QT_ROOT/lib/fonts

qt插件的目录
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins

指定帧缓冲设备/dev/fb0
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0

添加QT和触摸库的环境变量
export LD_LIBRARY_PATH= /lib:/usr/lib:/usr/local/lib:$QT_ROOT/lib:$TSLIB_ROOT/lib/

        6.把字库文件wenquanyi.ttf 拷贝到根文件系统的qt库的/lib/fonts下,没有这个路径手动创建一个路径 

        7.然后我们回到根文件系统的lib目录下,将 libstdc.tar.gz 拷贝到lib目录下解压,并输入以下命令:

ln -s libstdc++.so.6.0.19 libstdc++.so.6

        8.把我们的测试历程 fingerpaint 拷贝到根文件系统的opt目录下,并改成777权限,如下图所示:

                 chmod 777 fingerpaint

        9.然后我们打包这个文件系统,并烧写到开发板上测试 

                tar -cjf  rootfs.tar.bz2   ./*

这里对tar命令要了解一下,我们打包的是 .tar.bz2 ,所以加了-j的参数,使用 bzip2 方式进行处理;而-z,使用 gzip 方式进行处理,打包的是 .tar.gz          

二、测试

        1.烧写完毕之后,进入到文件系统的 /opt/tslib1.4/bin 目录下

                cd /opt/tslib1.4/bin

        2. 运行程序

                ./ts_calibrate

                即可看到屏幕,有5个小点,分别点击进行测试

        3.其他程序测试

                和上面类似的其他程序,./ts_test

                回到/opt目录下,测试fingerpaint程序,./fingerpaint

        4.测试完毕我没有问题,如果有触摸不准,则在profile文件底下添加环境变量

export QT_QPA_FB_TSLIB=1

        重启后删除校准文件:rm /etc/pointercal

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值