嵌入式系统中经常采用WinCE作为操作系统,因而在WinCE上安装Qt是很常见的,下面就讲讲这方面需要注意的问题。本节将以一个实际的例子来说明整个的过程。笔者的使用的Samsung i718是基于arm9和WinCE的一款智能手机,如何在这个平台上面构建我需要的Qt开发环境呢。下面就是笔者的构思过程。
1.确定需求
了解需求这一步很重要,这可以使你少走弯路。比如要弄清楚,你在开发机上要使用什么操作系统,Windows 2000还是Windows XP,Vista;Qt4.5是否支持它们,你的手持设备的操作系统是标准系统还是设备制造商自行定制的版本,开发平台是否匹配等。你一般还需要在目标机和开发机之间传输文件和数据,这需要一个同步软件。
Qt官方宣称从4.5版起,正式支持Win CE,并已经在 Visual Studio 2005上做过验证,桌面操作系统(开发机)可以是 Windows XP 和 Windows Vista。Windows 2000系列并不在支持列表中,所以就不要选择了,至于选择那些古董级的Windows Me、98就更不现实了,好在好像也很少有人这么做。
目标机系统可以是下列几种:
◆ Windows CE 5.0 for ARM, X86, SH-4 and MIPS
◆ Windows CE 6.0 for ARM generated using the defaults found in Platform Builder
◆ Windows Mobile 5.0 (Pocket PC, Smartphone and Pocket PC with Phone editions)
◆ Windows Mobile 6.0 (Standard, Classic and Professional editions)
另外,你需要知道的是Win CE和Windows Mobile的关系,它们并不是等同的。
当然,你的手持设备制造商往往会自行定制一个基于上述系统的操作系统版本,你必须针对这些特点,有选择的调整编译参数,这样才能使Qt很好的支持开发。
我们回到实际的例子中。经过考虑,我决定开发机采用Windows XP SP2版,使用Visual Studio 2005中文版并打上SP1补丁,目标机是基于Windows Mobile 5.0 Pocket PC的,所以我们需要使用Windows Mobile 5.0 Pocket PC SDK;另外,同步传输软件采用Microsoft ActiveSync4.5简体中文版,这可以在Microsoft的网站上下载到;Qt库选用qt-embedded-wince-opensource-src-4.5.2。表2-1归纳了我的需求分析的结果和最终的系统选型。
表2-1 需求分析及最终选型
需求 | 选型 |
CPU架构 | arm系列(arm9) |
开发机操作系统 | Windows XP SP2中文版 |
目标机操作系统 | Windows Mobile 5.0 Pocket PC |
开发机使用的SDK | Windows Mobile 5.0 Pocket PC SDK |
同步软件 | Microsoft ActiveSync4.5简体中文版 |
Qt库 | Qt/Win CE 4.5.2 |
开发IDE | Visual Studio 2005 SP1 中文版 |
2.下载软件包
表2-2归纳了需要的软件包和下载地址。
表2-2 软件包和下载地址
Windows Mobile 5.0 Pocket PC SDK | http://www.microsoft.com |
Microsoft ActiveSync4.5简体中文版 | http://www.microsoft.com |
Visual Studio 2005 SP1 中文版 | 购买 |
Qt/Win CE 4.5.2 | http://www.qtsoftware.com |
3.安装软件
按照以下步骤进行安装,次序不可弄错。
⑴ 安装VS2005,很简单,按照向导来,在自定义安装中务必选择“智能设备开发”。
⑵ 安装Microsoft ActiveSync4.5中文版,一路选择缺省配置即可;
⑶ 安装Windows Mobile 5.0 Pocket PC SDK,一路选择缺省设置即可;
⑷ 安装Qt/Win CE ,下载到的文件名字类似于qt-embedded-wince-opensource-src-4.5.2
这里又分为几个步骤:
① 解压
将解压后的文件夹放到一个不含空格、中文字符和特殊字符的路径中,比如我的是:d:/qt/qtWinCE,qtWinCE 即为此文件夹。
② 设置环境变量
鼠标右键单击“我的电脑”->“属性”->点“高级”标签->“环境变量”选项->在"PATH"中添加路径“d:/qt/qtWinCE/ bin”。
③ configure
进入到VS2005的命令行中,进入解压的文件夹,然后执行命令:
configure -platform win32-msvc2005 -xplatform wincewm50pocket-msvc2005
对于我的机器,也可以使用下面的命令,指出了具体的软硬件平台:
configure -platform win32-msvc2005 -xplatform wince50standard-armv4i-msvc2005
当然我们仍然可以运行configure -help命令来查看configure的参数选项,并根据自己的开发板及手机配置来选择其它的嵌入式的xplatfrom,要了解这些信息,你可能需要查看Qt所支持平台的readme文件里面的说明。configure这个过程大约需要十几分钟。
④ 更新环境变量
configure正确完成后,为了使你的资源能够被目标机系统正确的找到,需要更新Qt环境变量,主要包括PATH, INCLUDE 和LIB 。命令如下:
set INCLUDE=C:/Program Files/Microsoft Visual Studio 8/VC/ce/include;C:/Program Files/Windows CE Tools/wce500/Windows Mobile 5.0 Pocket PC SDK/Include/Armv4i
set LIB=C:/Program Files/Microsoft Visual Studio 8/VC/ce/lib/armv4i;C:/Program Files/Windows CE Tools/wce500/Windows Mobile 5.0 Pocket PC SDK/Lib/ARMV4I
set PATH=C:/Program Files/Microsoft Visual Studio 8/VC/ce/bin/x86_arm;%PATH%
⑤ 运行nmake
根据你机器配置的不同,大约需要1到若干个小时不等。nmake执行成功后,你的Qt for Win Ce就可以使用了。
小贴士:一定要使用VS 2005打上SP1的的补丁。Qt/Win CE的安装相对比较容易,但是更新环境变量那一步容易被忽略。