1. 推荐安装环境 Windows XP SP3 + VS2005(SP1)
2. 载Qt for WinCE(eg. qt-everywhere-opensource-src-4.8.3.zip)
3. 解压到C:\Qt\4.8.3WinCE
4. 安装WinCE的SDK(如RNx,WinCE5.0的)
5. 将C:\Qt\4.8.3WinCE\bin加到环境变量Path中
6. 修改代码或配置(注1),否则编译可能会有错误,或者后面使用会有问题,不同的版本可能会有不同的错误
7. SDK编译设置
a. 到Qt解压目录下的mkspecs下,复制wince50standard-armv4i-msvc2005目录为
wince50RNx-armv4i-msvc2005,
说明一下,win50是SDK是WinCE 5.0版本的,armv4i架构,msvc2005表示用vs2005编译。mkspecs下后很多已经配好的配置,
可根据自己的情况选最相似的一个
b. 进入wince50RNx-armv4i-msvc2005目录,更改qmake.conf中CE_SDK
=
RNx
8. 从开始菜单启动"Visual Studio 2005 Command Prompt"
9. cd到C:\Qt\4.8.3WinCE目录
10. 输入命令:configure -platform win32-msvc2005 -xplatform wince50RNx-armv4i-msvc2005
如果不用webkit,在后面加上-no-webkit,其他的组件类似,具体参看configure -help
11. 回车后开始配置Qt,license选择o,之后选择y
几分钟后配置成功,在C:\Qt\4.8.3WinCE\bin目录下,会生成qmake.exe、checksdk.exe等文件
12. 运行checksdk -list,查看已安装的sdk,可以看到如"
RNx (ARMV4I)"的SDK
13. 运行checksdk -sdk "RNx (ARMV4I)" -script "setrnxsdk.bat"
-sdk后面是设置需要编辑的sdk(根据自己需要填写,但必须在上面list的列表里)
-script后面的要生成bat的名字,因为我们在C:\Qt\4.8.3WinCE目录下,运行此命令,这个文件也生成在这个目录下
上面参数具体说明参见 checksdk -help
14. 运行 setrnxsdk.bat
此文件时第13步自己设置的
15 运行nmake
数小时后,编译成功
注1:
4.8.2版本webkit的问题
platform\DefaultLocalizationStrategy.cpp(327) : error C2001: newline in constant
platform\DefaultLocalizationStrategy.cpp(327) : fatal error C1057: unexpected end of file in macro expansion
这个错误的原因是因为代码里面的非英文的引号造成的。
原始的错误代码如下:
return WEB_UI_STRING("Look Up “<selection>”", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));
注意 <selection> 单词前后的引号。就是它造成编译报错。修改成下面的代码
return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));
注2:如nmake出现错误,一般重新nmake即可。但如果vs2005安装有问题,需修复vs2005. 我在编译过程中就出现了此情况,nmake总是错误,修复后就OK了。