Qt-WinCE全解
声明:花费了三天时间,周转各大网站,终于在今天将自己的第一个Qt程序在“小I(SAMSUNG i718+)”上跑了起来!
一、Qt 嵌入式环境的搭建
a) 首先,下载Qt的嵌入式开发包qt-embedded-wince-opensource-src-4.4.0.zip
b) 然后,下载VS2005。
c) 最后,下载一个嵌入式开发的SDK,如Windows Mobile 5.0 Pocket PC SDK,可以在微软的官方网站上下载到!
d) 还有一个是同步的软件 Microsoft ActiveSync4.5中文简体版。
------------------------------------------安----装----------------------------------
e) 首先安装VS2005,很简单,按照向导来,在自定义安装中务必选择“智能设备开发”。
f) 关于Microsoft ActiveSync4.5的安装更是“straightforward”。在此不再多说!
g) 然后,安装Windows Mobile或是其它版本的SDK,可以用自定义的SDK!简单
h) 比较麻烦的就是qt-embedded-wince的安装。参照下面的步骤:①、解压,将解压后的文件夹放到一个不含空格的路径中,如我的:f:\penguinx\qt_wince,qt_wince即为此文件夹。然后设置环境变量:右键“我的电脑”->“属性”->点“高级”标签->“环境变量”选项->在"PATH"中添加路径“f:\penguinx\qt_wince \ bin”。OK!②编译前戏。首先,配置编译选项,进行VS2005的命令行中,进入解压的文件夹,然后执行如下:configure -platform win32-msvc2005 -xplatform wince50standard-armv4i-msvc2005可以根据自己的板子及手机配置来选择其它的嵌入式的xplatfrom。这个过程可能需要十几分钟。执行完后,再次在VS2005中设置临时的环境变量,编译时要用到:如下:
set INCLUDE=D:\Program Files\Microsoft Visual Studio 8\VC\ce\include;D:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Include\Armv4i
set LIB=D:\Program Files\Microsoft Visual Studio 8\VC\ce\lib\armv4i;D:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Lib\ARMV4I
set PATH=D:\Program Files\Microsoft Visual Studio 8\VC\ce\bin\x86_arm;%PATH%
在此我期望能根据自己的软件安装情况将上面的目录“拿来主义”一下。设 置完后,执行nmake,过两、三个钟头后,你就可以Enjoy your journey.
最后,执行nmake,安装完毕!我的Qt-WinCE安装在 f:\penguinx\qt_wince
二、编译Qt-WinCE程序
命令行法(不用IDE):
首先、用VS2005命令行进入要编译的程序目录(此目录最好就在安装目录f:\penguinx\qt_wince下),执行< f:\penguinx\qt_wince >bin\qmake.exe –project –o example.pro 其中,Install Qt Path为你的Qt-WinCE的安装目录。这个时候,可以产生example.pro文件。
然后、就是产生Makefile的时候:在VS2005命令行下输入:
f:\penguinx\qt_wince\bin\qmake -spec \mkspecs\wince50standard-armv4i-msvc2005 -win32 -o Makefile example.pro 此时,恭喜你,Makefile文件已经产生。
最后,就是用nmake来编译和链接程序了。先将安装时的环境变量(三个set)在当前VS2005命令行下重新执行一遍。否则会出现如下错误:
cl: 命令行 warning D9002 :忽略未知选项“-QRarch4T”
cl: 命令行 warning D9002 :忽略未知选项“-QRinterwork-return”
main.cpp
mainwindow.cpp
f:\penguinx\qt_wince\include\qtgui\http://www.cnblogs.com/src/gui/widgets/qmenu.h(144) : error C2
146: 语法错误 : 缺少“;”(在标识符“wceMenu”的前面)
f:\penguinx\qt_wince\include\qtgui\http://www.cnblogs.com/src/gui/widgets/qmenu.h(144) : error C4
430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
f:\penguinx\qt_wince\include\qtgui\http://www.cnblogs.com/src/gui/widgets/qmenu.h(144) : error C4
430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
f:\penguinx\qt_wince\include\qtgui\http://www.cnblogs.com/src/gui/widgets/qmenu.h(144) : warning
C4183: “wceMenu”: 缺少返回类型;假定为返回“int”的成员函数。
然后,执行nmake,看着一行的白银流失完后,就是金子(你的exe文件)了。
注意:在执行nmake的时候,可能会看到如下错误信息:
link /LIBPATH:"f:\penguinx\qt_wince\lib" /LIBPATH:"f:\penguinx\qt_wince\
lib" /NOLOGO /NODEFAULTLIB:OLDNAMES.LIB /DEBUG /SUBSYSTEM:WINDOWSCE,5.00 /MACHIN