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

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

38
回复
41178
查看
[复制链接]
累计签到: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

使用道具 举报

累计签到:13 天
连续签到:1 天
2015-4-29 10:02:46 显示全部楼层
沙发  期待已久终于出来了
回复 支持 反对

使用道具 举报

尚未签到

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

使用道具 举报

累计签到:595 天
连续签到:1 天
2015-4-30 08:52:37 显示全部楼层
本帖最后由 sywh 于 2015-4-30 08:53 编辑

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

使用道具 举报

累计签到:4 天
连续签到:1 天
2015-5-4 11:39:27 显示全部楼层
相当详细,我今晚回去就开始尝试~~~
回复 支持 反对

使用道具 举报

尚未签到

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

使用道具 举报

累计签到:97 天
连续签到:1 天
2015-6-9 09:13:17 显示全部楼层
继续顶,希望出更精彩的教程
回复 支持 反对

使用道具 举报

累计签到:97 天
连续签到:1 天
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
回复 支持 反对

使用道具 举报

累计签到:97 天
连续签到:1 天
2015-7-12 10:53:14 显示全部楼层
移植完成过后一切正常,就是在板子上无法显示中文,英文可以显示
回复 支持 反对

使用道具 举报

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

中文需要字体库的支持,后面的教程中有这部分内容。
回复 支持 反对

使用道具 举报

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

这个我也遇到了,应该是开发板上少一个iconv的库造成的。
回复 支持 反对

使用道具 举报

累计签到:97 天
连续签到:1 天
2015-7-14 13:17:12 显示全部楼层
hzzhou 发表于 2015-7-14 10:47
这个我也遇到了,应该是开发板上少一个iconv的库造成的。

我的解决方法是在交叉编译./configure是的时候加上-no-iconv
回复 支持 反对

使用道具 举报

累计签到:97 天
连续签到:1 天
2015-7-14 13:25:40 显示全部楼层
hzzhou 发表于 2015-7-14 10:46
中文需要字体库的支持,后面的教程中有这部分内容。

恩,这两天把给解决了,我加了文泉易这个版本的字体wqy-zenhei-0.8.38-1.tar.gz,一开始在程序中指定后加的这个字体还是无法显示中文,后来把字库路径下的Vera*开头的文件删除了,暂时可以正常显示了
回复 支持 反对

使用道具 举报

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

出现这个问题怎么解决的啊?
回复 支持 反对

使用道具 举报

累计签到:13 天
连续签到:1 天
2015-11-12 13:45:28 显示全部楼层
怎么做到自适应屏幕大小的啊?
回复 支持 反对

使用道具 举报

累计签到:13 天
连续签到:1 天
2015-11-13 10:56:51 显示全部楼层
按照教程后应用程序界面显示没有铺满显示屏,而且没有触摸功能 没有鼠标功能!!!!!!!!!!!!!!

回复 支持 反对

使用道具 举报

累计签到:8 天
连续签到:1 天
2015-12-4 15:41:44 显示全部楼层
环境变量配置那里应该没说清楚吧?@hzzhou
回复 支持 反对

使用道具 举报

累计签到:26 天
连续签到:1 天
2016-1-4 15:07:03 显示全部楼层
我现在用的就是你说的这个E9开发板,然后利用厂家提供的烧写镜像和烧写工具已经在这个板子上安装了ubuntu12.04,现在我在pc上用ubuntu14.10系统下的qt写程序,也按照你这个系列教程中说的,安装好交叉编译工具和qt-everywhere,也成功生成运行在arm板子上的可执行文件。但是拿到板子上来运行,不提示错误,但也没有反应,什么都没有。
我已經把你说的那些文件夹复制到板子上的对应位置了,但是就是不行,能否给分析一下原因?什么错误都不提示,让我很头疼。
回复 支持 反对

使用道具 举报

累计签到:169 天
连续签到:1 天
2016-3-14 10:28:33 显示全部楼层
你好,按照大神的移植过程教程,也已经成功移植了,烧写的应用 程序和你的类似,就是界面上有一个按钮,点击这个按钮,会退出应用程序。现在我这里有个问题,我接的不是触摸屏,我用vga接的显示器,我也修改了环境变量了,屏幕上就没有鼠标显示,就没法操作这个应用程序,大神有没有什么方法将鼠标给显示出来吗?
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

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