桌面windows的Qt已经看完了近2/3,开发是没有问题了,是试一下它的跨平台性能的时候了,鉴于PC已经安装过了vs2005和windows mobile 6的SDK,我决定先从Win Mobile开始,况且同事手头刚好有WM6的手机。按照网上很多人对vs2005下qt for winCE配置,折腾一上午,终于完成了配置,并且成功写出了demo程序。
由于网上很多人都是转载别人成功的配置方式,并且用了VS2005的命令行方式,所以我决定将我的配置方式贴出,告诉大家如何用最简单的方式配置Qt for WinCE。
我的配置参考了以下文章:
1)、Qt-WinCE安装、开发及部署全解
http://www.qtcn.org/bbs/read.php?tid=11920
2)、架设移动开发环境:Qt-wince 平台
http://www.mobpub.net/viewthread.php?tid=4231
3)、初涉Windows Mobile下的QT程序移植和部署
http://www.cnblogs.com/ttylikl/archive/0001/01/01/1526696.html
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
一、配置前的准备:
1、下载vs2005,并安装,另外打上vs2005 sp1版本的补丁;
2、下载Windows Mobile 6 SDK,并安装相应的compact framework1.1和ActiveSync 4.5 setup;
3、在VS2005下新建智能设备工程,编写一个简单的程序,编译,运行,确保VS2005和WM6 SDK正常工作;
4、下载qt-everywhere-opensource-src-4.6.1,可以去qt.nokia.com下载最新版本;
5、下载qt-vs-addin-1.1.3,同样也在qt.nokia.com找到最新版本;
二、Qt的安装并配置:
1、解压刚才下载的qt-everywhere-opensource-src-4.6.1,解压到想要安装的目录下,注意此目录最好短一些,并且不要加空格,然后把“安装的目录/bin”(如E:/Qt/Qt4WinCE/bin)加入到系统的环境变量PATH中;
2、配置编译选项,打开VS2005的命令行提示,进入刚才的解压目录,执行如下命令:
configure -platform win32-msvc2005 -xplatform wincewm60professional-msvc2005
注意:最后的参数其实就是刚才解压的文件夹/mkspecs下的文件夹名,根据你自己的目标环境写好参数就好,这个命令大约需要执行十几分钟;
3、为VS2005设置临时环境变量,命令行如下:
set INCLUDE=E:/Program Files/Microsoft Visual Studio 8/VC/ce/include;E:/Program Files/Windows CE Tools/wce500/Windows Mobile 5.0 Pocket PC SDK/Include/Armv4i
set LIB=E:/Program Files/Microsoft Visual Studio 8/VC/ce/lib/armv4i;E:/Program Files/Windows CE Tools/wce500/Windows Mobile 5.0 Pocket PC SDK/Lib/ARMV4I
set PATH=E:/Program Files/Microsoft Visual Studio 8/VC/ce/bin/x86_arm;%PATH%
注意:路径要根据你自己的安装路径进行修改,此命令执行大约需要2~3个小时,大家可以先休息一下了。
至此,Qt的配置已经完了,上面的命令行是必须的,也是我们安装配置中仅有的。
三、VS2005的配置
1、安装qt-vs-addin-1.1.3,安装好之后,打开VS2005之后,我们可以看到VS2005工具栏中多了Qt一项,并且在新建项目向导里也多出了Qt选项,但此时还不能用这个向导新建Qt的工程;
2、打开VS2005中菜单栏Qt下的Qt option,在这里add一个Qt版本,名字随便起,尽量采用英文名字,在path中选择Qt本次的解压目录(如E:/Qt/Qt4WinCE/bin),然后点OK;
3、这样VS2005下也配置好了,新建一个工程,并选择Qt WinCE Application,建立工程名,OK。然后就会弹出Qt的工程建立向导,选择目标平台,然后next下去,最后finish。这样,一个Qt for WinCE的工程就建立好了,VS2005默认会为我们新建一个窗口的UI文件,工程的qrc文件,主程序main.cpp文件、窗口类的h文件和cpp文件,恭喜你,现在可以进行编辑了。
注意:由于我们只在VS2005中增加了Qt for winCE版本Qt,所以通过Qt向导只能建立WinCE的工程,另外,VS2005下的菜单栏中的QtDesigner等工具也是无法使用的,因为Qt for WinCE里没有这些工具,应该是为VS2005配置的桌面windows Qt中有。你可以把桌面Windows Qt也下载配置了,或者你和我一样用QtCreator带的,同样可以使用,还有,通过这种方式新建的项目里没有我们通常为Qt建立的Qt的*.pro文件。
四、Qt工程的编译和部署
1、编译,既然VS2005已经正确的建立了Qt的工程,并且目标平台也设置好了,那么大家就直接点VS2005工具栏或者菜单栏中的生成就可以了,别看其他人对编译写得很神,其实编译只要你点一下。这时要注意记得选择Debug,还是release。编译好的文件加上QtCore4.dll、QtGui4.dll(这两个文件在你的安装目录下的lib文件夹中)和msvcr80.dll(这个文件在你的 VS2005安装目录/VC/ce/Dll/armv4i下)一同拷到目标机下,就可以运行了。上面是release版,如果是Debug的话,记得那些DLL文件都找同文件名后多加了一个字母d的文件就可以,这点,MS和NOKIA一样。
2、部署,在当前项目中添加一个安装和部署的智能设备CAB项目。
注意:
添加到当前解决方案(因为要让安装部署的项目依赖我们的主项目)
项目名称,目录里最好不要有中文出现,也不要有空格之类的
安装部署项目的属性里,关于制造商Manufacture的名字,不能用中文。需要将默认公司名称修改为英文的。否则最后生成CAB文件时会失败。
然后在应用程序文件夹里添加项目输出,添加上面编译出的可执行文件和3个DLL,然后点此项目右键生成,对应平台对应程序的CAB包就得到了。
¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
至此, 如何在配置Qt for WinCE编辑环境,如何建立Qt for winCE工程、编译和部署就完成了。
在同事的wm6手机上执行了一下,感觉打开速度不快,主要是程序中的那三个dll加载花了很长时间,这是因为WM本身不带Qt库导致的。
之前安装的Symbian S60 FP1 SDK还在,可是当时以为NOKIA不再对symbian C++支持了,所以把carbide C++卸载了,等我把WM下的程序开发完毕后,再进行symbian的移植吧!