第7篇 在开发板上运行Qt程序
版权声明
导语
经过前面这么多的步骤,整个移植过程已经完成了,但是到现在还是无法在开发板上直接运行自己编译的Qt程序。因为前面我们向开发板上烧写了天嵌自带的Qt系统,但是这个是基于Qt 4的,而我们现在编译的Qt 5在架构上不同于Qt 4,最明显的是现在很多需要OpenGL的支持,所以,天嵌自带的系统无法直接运行Qt 5程序。我们需要烧写新的Linux内核,然后重新下载Qt 5.4的库文件和可执行文件,最后进行必要的设置,这样才能保证我们自己编译的Qt程序可以正常运行。
一、重新烧写系统
1、内核
因为opengl ES的库与GPU的驱动的依赖关系比较紧密,所以需要使用相匹配版本的内核。由于内核的编译并不是本文的讨论内容,所以这里直接提供下载地址。
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++程序需要添加参数,而QML和OpenGL程序可以直接运行的,这个我们后面会详细介绍。
在开发板上的运行效果如下图所示。
三、快速体验
如果不想进行重复的操作,或者进行上面的操作时出现问题,也可以直接到Qter 开源社区下载我们生成好的内核和根文件系统,只需要烧写到开发板上就可以了,其中已经包含了Qt 5.4 的库文件,并且设置了环境变量。另外,在根文件系统的/home/qter 目录下有两个测试程序,可以验证移植的正确性。让Qt 5 程序在开发板上尽情的去飞吧!
小结
大家可以使用Qt 5写一些其他的测试程序运行一下,以便体验一下成功的快感。相信当你看到开发板的屏幕上出现你想要的界面的时候,你会瞬间忘记整个移植过程中带给你的枯燥和劳累。 写在最后,任何工作都可能出现疏漏,我们也一样。如果读者在整个移植过程中和使用中遇到什么问题,请反馈给我们。我们会尽快解决。
|