Presentation is loading. Please wait.

Presentation is loading. Please wait.

Qt移植.

Similar presentations


Presentation on theme: "Qt移植."— Presentation transcript:

1 Qt移植

2 Qt简介 Qt源码配置、编译及安装 在根文件系统中添加Qt 目标机上运行ARM平台的Qt程序

3 Qt简介 目前用在嵌入式领域的GUI主要有MiniGUI,Qt,GtkFB等。MiniGUI最初是 为了满足一个工业控制系统(计算机数控系统)的需求而设计和开发的,它 在设计之初就考虑到了小巧、高性能和高效率,因此比较适合于工控领域 的简单应用;Qt是一个跨平台的C++图形用户界面库,在新的版本中逐渐集 成了数据库、OpenGL库、多媒体库、网络、脚本库、XML库、WebKit库等等, 其内核库也加入了进程间通信、多线程等模块,极大的丰富了Qt开发大规 模复杂跨平台应用程序的能力,由于其嵌入式版本经过设计优化,所以在 嵌入式平台上也能获得比较满意的速度;GtkFB是基于C语言的,和Qt一样 也针对嵌入式应用做了优化,不过由于更新较慢,在嵌入式系统中不太常 见。从以上分析不难看出,Qt更适合于这里的嵌入式系统。

4 Qt源码配置、编译及安装 Qt的配置项有很多,解压源码后,可以通过下面的命令来查看配置帮助信 息 主要的配置项:
$ ./configure –help 主要的配置项: -prefix <dir>:安装路径 -opensource:构建Qt的开源版本。 -commercial:构建Qt的商业版本。 -confirm-license:自动确认许可证。 -qt-sql-<driver>:使能在Qt SQL 模块中的SQL <driver>。 -qt-libjpeg:使用Qt的libjpeg库。 -xplatform target:交叉编译时指定目标平台。

5 Qt源码配置、编译及安装 因为Qt的配置项很多,又没有配置界面,通常将配置命令写入到一个脚本 文件中,然后运行该脚本文件进行配置。
在配置之前的一个很重要的工作就是要添加交叉编译环境。可以使用如下 的方法。 $ cp -a qtbase/mkspecs/linux-arm-gnueabi-g++/ qtbase/mkspecs/linux- arm-g++/ 编辑qtbase/mkspecs/linux-arm-none-gnueabi-g++/qmake.conf文件,将: arm-linux-gnueabi- 全部替换为: arm-none-linux-gnueabi- 这样就添加了一个linux-arm-none-gnueabi-g++的交叉编译环境

6 Qt源码配置、编译及安装 配置的脚本文件(参考实验手册)编写好后,可以用该脚本进行配置。 配置完成后进行编译和安装
$ chmod +x config.sh $ ./config.sh 配置完成后进行编译和安装 $ make $ sudo make install 如果源码的版本是5.4.2,则默认的安装路径是/usr/local/Qt-5.4.2

7 在根文件系统中添加Qt 将Qt安装后的整个目录拷贝到根文件系统,然后再添加环境变量。 $ cd /nfs/rootfs
$ mkdir usr/local/ $ cp -a /usr/local/Qt-5.4.2/ usr/local/ /etc/profile中添加: export QTDIR=/usr/local/Qt-5.4.2 export QT_QPA_FONTDIR=$QTDIR/lib/fonts export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:size=1024x600:tty=/dev/ttySAC2 export PATH=$QTDIR/bin:$PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH$QTDIR:$QTDIR/lib

8 在根文件系统中添加Qt 其中QT_QPA_FONTDIR环境变量用于指定字体的路径, QT_QPA_PLATFORM_PLUGIN_PATH环境变量用于指定插件的路径, QT_QPA_PLATFORM环境变量用于指定Qt的运行平台,这里是linuxfb,表示 基于Linux的帧缓存,fb用于指定帧缓存设备,size用于指定显示设备以像 素为单位的宽高,而tty用于指定非GUI程序使用的tty。这个环境变量中的 项目需要根据实际情况进行修改。

9 运行ARM平台的Qt程序 交叉编译好Qt的测试程序后,使用下面的命令运行。
# ./Test -plugin evdevmouse:/dev/input/event1 -plugin evdevkeyboard:/dev/input/event2 在命令行中通过evdevmouse指定了鼠标设备,通过evdevkeyboard指定了键盘设备。 这些设备的路径需要根据系统的实际情况而定。

10


Download ppt "Qt移植."

Similar presentations


Ads by Google