找回密码
 立即注册

第7篇 在开发板上运行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
回复

使用道具 举报

发表于 2015-4-29 10:02:46 | 显示全部楼层
沙发  期待已久终于出来了
回复 支持 反对

使用道具 举报

发表于 2015-4-29 10:17:08 | 显示全部楼层
继续顶,话说你可以自己加精么?
回复 支持 反对

使用道具 举报

发表于 2015-4-30 08:52:37 | 显示全部楼层
本帖最后由 sywh 于 2015-4-30 08:53 编辑

很好,顶一个先,前排占座学习中。
回复 支持 反对

使用道具 举报

发表于 2015-4-30 17:22:38 | 显示全部楼层
这样太好了,要大力支持。
回复 支持 反对

使用道具 举报

发表于 2015-5-4 11:39:27 | 显示全部楼层
相当详细,我今晚回去就开始尝试~~~
回复 支持 反对

使用道具 举报

发表于 2015-5-31 14:01:18 | 显示全部楼层
哇, 太好了 ,正好学习中
回复 支持 反对

使用道具 举报

发表于 2015-6-9 09:13:17 | 显示全部楼层
继续顶,希望出更精彩的教程
回复 支持 反对

使用道具 举报

发表于 2015-7-8 19:31:00 | 显示全部楼层
./myarmtest -platform linuxfb
楼主你好,我在运行程序的时候会出现下面两个提示,不知道你在运行的时候有没有碰到类似问题
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed

点评

zac
出现这个问题怎么解决的啊?  详情 回复 发表于 2015-11-5 19:25
回复 支持 反对

使用道具 举报

发表于 2015-7-12 10:53:14 | 显示全部楼层
移植完成过后一切正常,就是在板子上无法显示中文,英文可以显示
回复 支持 反对

使用道具 举报

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

本版积分规则

1234下一页

Qt开源社区——开源 共享 自由

微信扫一扫
查看精品教程!