找回密码
 立即注册
收起左侧

第7篇 在开发板上运行Qt程序

38
回复
41191
查看
[复制链接]
累计签到:181 天
连续签到:1 天
来源: Qt教程 2015-4-28 22:49:12 显示全部楼层 |阅读模式
第7篇 在开发板上运行Qt程序



版权声明

该文章原创于Qter开源社区www.qter.org),作者hzzhou,转载请注明出处!


导语


    经过前面这么多的步骤,整个移植过程已经完成了,但是到现在还是无法在开发板上直接运行自己编译的Qt程序。因为前面我们向开发板上烧写了天嵌自带的Qt系统,但是这个是基于Qt 4的,而我们现在编译的Qt 5在架构上不同于Qt 4,最明显的是现在很多需要OpenGL的支持,所以,天嵌自带的系统无法直接运行Qt 5程序。我们需要烧写新的Linux内核,然后重新下载Qt 5.4的库文件和可执行文件,最后进行必要的设置,这样才能保证我们自己编译的Qt程序可以正常运行。

一、重新烧写系统

1、内核

因为opengl ES的库与GPU的驱动的依赖关系比较紧密,所以需要使用相匹配版本的内核。由于内核的编译并不是本文的讨论内容,所以这里直接提供下载地址。

       内核镜像:uImage   Qter开源社区下载

2、文件系统

       可以继续使用天嵌提供的文件系统,这样需要按照上一篇的内容重新下载Qt库和可执行文件。

       最后参照第3篇的内容将内核和文件系统重新烧写到开发板。

二、设置环境变量

       烧写好系统以后,在开发板上执行如下命令:

exportQT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS='evdev:/dev/event2'
export QT_QPA_GENERIC_PLUGINS='evdevtouch:/dev/event2'

       该命令可以设置开发板的环境变量,指定触摸屏对应的设备文件。当然,如果只是这样设置的话,设备重启后,这里设置的环境就是就会丢失。为了避免每次重启后都要重新设置环境变量这个麻烦,需要把这个命令写入到开发板上的/etc/profile文件中。
       首先使用vi编辑器打开该文件,如下图所示。


       然后在该文件后面添加这两条命令,并保存退出。如下图所示。


       这时回到home目录中,执行如下命令:
./myarmtest -platform linuxfb
       如下图所示。注意,Widgets C++程序需要添加参数,而QMLOpenGL程序可以直接运行的,这个我们后面会详细介绍。

       在开发板上的运行效果如下图所示。


三、快速体验

       如果不想进行重复的操作,或者进行上面的操作时出现问题,也可以直接到Qter开源社区下载我们生成好的内核和根文件系统,只需要烧写到开发板上就可以了,其中已经包含了Qt 5.4的库文件,并且设置了环境变量。另外,在根文件系统的/home/qter目录下有两个测试程序,可以验证移植的正确性。让Qt 5程序在开发板上尽情的去飞吧!


小结


       大家可以使用Qt 5写一些其他的测试程序运行一下,以便体验一下成功的快感。相信当你看到开发板的屏幕上出现你想要的界面的时候,你会瞬间忘记整个移植过程中带给你的枯燥和劳累。
       写在最后,任何工作都可能出现疏漏,我们也一样。如果读者在整个移植过程中和使用中遇到什么问题,请反馈给我们。我们会尽快解决。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2016-7-22 11:57:20 显示全部楼层
楼主您好,我使用咱们社区的E9的 文件系统和内核,移植QT5.4,系统起来后触摸屏不能用,我的设置跟您的教程一样,您知道怎么回事吗?
回复 支持 1 反对 0

使用道具 举报

尚未签到

2019-3-28 17:50:35 显示全部楼层
这样移植显示不了边框,怎么解决?
回复 支持 反对

使用道具 举报

累计签到:8 天
连续签到:2 天
2018-12-18 09:04:00 显示全部楼层
期待后期的内容,不知道什么时候出?
回复 支持 反对

使用道具 举报

累计签到:5 天
连续签到:1 天
2018-3-29 09:55:58 显示全部楼层
zhangsen4698 发表于 2016-7-22 11:57
**** 作者被禁止或删除 内容自动屏蔽 ****

你在开发板的配置文件改下event,有的是event0,有的是event1,我的就是1,你改下这个事实

我也遇到了类似的问题,就是内核烧写的是天嵌的,在打印信息时候能看到显示的是QT4,但我也是按照这个教程安装的5.4.0,在运行时候遇到的问题是闪一下窗口就消失了,特别奇怪。
回复 支持 反对

使用道具 举报

累计签到:1 天
连续签到:1 天
2018-3-7 16:30:57 显示全部楼层
同触屏使用不了,求解求解。。
回复 支持 反对

使用道具 举报

累计签到:3 天
连续签到:1 天
2017-8-26 10:40:10 显示全部楼层
可以运行-platform eglfs吗?
回复 支持 反对

使用道具 举报

累计签到:10 天
连续签到:1 天
2017-8-7 11:03:19 显示全部楼层
顶顶顶,真的是很好的东西
回复 支持 反对

使用道具 举报

累计签到:53 天
连续签到:1 天
2017-7-24 21:20:07 显示全部楼层
5.9.1的版本是否已经在移植!
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2017-7-17 15:20:43 显示全部楼层
刚接触嵌入式开发,新手入门中。LZ的教程正适合
回复 支持 反对

使用道具 举报

累计签到:4 天
连续签到:1 天
2017-4-8 16:32:31 显示全部楼层
楼主    崇拜你   你简直  太猛了  我要好好学习
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2017-2-23 17:56:14 显示全部楼层
kmxtye 发表于 2015-7-8 19:31
./myarmtest -platform linuxfb
楼主你好,我在运行程序的时候会出现下面两个提示,不知道你在运行的时候有 ...

我现在和你遇到同样的问题,不知你最后是怎么解决的?谢谢
回复 支持 反对

使用道具 举报

累计签到:1 天
连续签到:1 天
2017-2-10 12:40:33 显示全部楼层
移植qt5.3.2到arm板后,显示正常,但是触摸屏不能用
经测试:触摸屏事件能够正常接收
鼠标也没有箭头显示
回复 支持 反对

使用道具 举报

累计签到:1 天
连续签到:1 天
2017-2-10 12:38:13 显示全部楼层
kmxtye 发表于 2015-7-12 10:53
移植完成过后一切正常,就是在板子上无法显示中文,英文可以显示

qt开源社区里面下载一个wqy字体,添加上环境变量即可
回复 支持 反对

使用道具 举报

累计签到:4 天
连续签到:1 天
2017-1-13 18:20:06 显示全部楼层
把你顶上天
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2016-12-19 15:38:24 显示全部楼层
学习。。。。。。。。。谢谢
回复 支持 反对

使用道具 举报

累计签到:2 天
连续签到:1 天
2016-11-23 14:48:19 显示全部楼层
想要 移植到 开发板。。 刚刚起步
回复 支持 反对

使用道具 举报

累计签到:7 天
连续签到:1 天
2016-11-21 10:51:57 显示全部楼层
想知道这个linux内核是怎么编译的呢?改了哪些地方吗? 现在想自己加驱动模块
回复 支持 反对

使用道具 举报

累计签到:10 天
连续签到:1 天
2016-11-16 10:32:27 显示全部楼层
楼主太牛了,果断收藏啊,好东西学习了
回复 支持 反对

使用道具 举报

累计签到:17 天
连续签到:1 天
2016-4-6 11:07:57 显示全部楼层
这个qt文件系统可以移植到riotboard上面么?
回复 支持 反对

使用道具 举报

累计签到:169 天
连续签到:1 天
2016-3-22 15:53:06 显示全部楼层
按照周老师的移植方法,已经成功了!非常感谢周老师的帮助!现在有个问题再咨询下周老师,运行自己的应用程序,为什么界面上没有光标,点击鼠标也没有反应,触摸也没有反应,不知道周老师移植完毕之后有没有发现类似的问题,期待您的回复!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了