您的位置:首页 > 编程语言 > Qt开发

转载一篇好文章:Qt for S60开发环境全接触

2009-12-16 16:43 483 查看
站所有文章由本站和原作者保留一切权力,仅在保留本版权信息、原文链接、原文作者的情况下允许转载,转载请勿删改原文内容, 并不得用于商业用途。 谢谢合作。

原文链接:http://www.cuteqt.com/blog/?p=295


者最近比较勤劳, 花了一天的时间把qt-s60的环境安装并测试了一下, 发现还挺有意思, 特此memo。
听说诺X亚内部已经开始使用qt开发程序, 所以各位看官也要抓紧拉, 如果你掌握了这门技术,
没准儿以后就能在诺X亚大颚家里谋个一官半职……后半辈子就不用愁了,呵呵~

网上关于Qt For S60的安装和配置已经有了一些现成的文章, Qt文档里也有一些内容, 但笔者感觉还是比较零散不够系统, 一方面语言的问题, 另一方面找起来太废力气。 本文算是集大成,哈哈(吹一把)~ 加张图,证明吹牛只是咱的副业……

开发过程需要用到的软件包及其主要作用

Windows环境

需要一台装有Windows的机器, 虚拟机也可, 但要内存分配1G及以上, 太少了不行。 笔者使用虚拟机装Windows XP, 内存1G。 C盘保证5G以上的剩余空间(还不见得够用)。

诺X亚手机一部

手机中的S60系统是3.1及以上版本。 本文以Nokia N95 8GB为蓝本。

Nokia PC Suite

这个是Windows和Nokia手机连接的工具, 后面往手机上安装自己的程序时需要用到。 在Nokia网站下载:
http://nds1.nokia.com/files/support/global/phones/software/Nokia_PC_Suite_7_1_26_1_chi_sc_web.exe

Qt for S60

下载在http://pepper.troll.no/s60prereleases/

这个包当然是必不可少的。 最近的版本被命名为“Garden”, 多么的诗情画意啊! Trolltech的人还真有艺术细胞。

Perl和JRE

这两个工具是S60 SDK运行需要的工具。 需要注意的是Perl要求必须是5.6.1版本, 高低都不行。 下载在
http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.638-MSWin32-x86.msi
JRE随便一个比较新的版本就行, 下载最新版本到sun的网站:
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jre-6u14-oth-JPR@CDS-CDS_Developer
Carbide C++ 2.0

必装工具, 而且低版本的不行。 下载在:
http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/IDEs/Carbide.c++/
需要注册帐号并登录才能下载。


S60 SDK 3rd Edition FP1


必须是3rd FP1以上版本。 我在forum nokia网站上还找到了3rd FP2, 但不如这个版本好找, 推荐下载此版本, 下载在:
http://sw.nokia.com/id/577ad48d-290c-4bb5-8bdf-779ea8a5bc6c/S60_5th_Edition_SDK_v1_0_en.zip

需要注册和登录。 这个包有三百多兆, 下载比较耗时较长。 安装后要占用将近3G的空间, 可是个绝对的大部头。

另外注意如果你用的是Nokia N97,需要去下载N97对应版本的SDK; Nokia 5800 XpressMusic需要使用 5th Edition 的SDK。 其他的配置方式与本文所述基本一致。

Open C/C++的插件

S60 SDK 3.1需要安装此包, 高的版本已经带了此工具就不需要单独下载安装了。 下载在:
http://www.forum.nokia.com/main/resources/technologies/openc_cpp/
需要注册和登录

安装和配置步骤

1、先装Perl和JRE, 随便选择路径即可, 对应的环境变量会自动设置。

2、把Carbide C++ 2.0, S60 SDK 3rd Edition FP1, Open C++分别安装到默认路径下, 顺序没有什么关系。 安装SDK过程中会提示安装gcce编译器, 这个是用来编译手机上的程序用的toolchain。

3、将qt for S60的包解压缩到C:/, 取个简单的目录名, 比如叫qt-s60.

4、更新Rpipe。 进入C:/Symbian/9.2/S60_3rd_FP1/, 将此目录下的RPipe_3.1.zip解压缩到当前位置。

5、
更新预编译的Qt S60库, 这是交叉编译需要的。
将C:/qt-s60/qts60binaries/3.x/qtlibs-4.5.0-garden.exe
拷贝到C:/Symbian/9.2/S60_3rd_FP1/并运行。 这个包里带了Qt给s60 arm系统编译的二进制文件,
交叉编译程序时需要链接。

6、从开始菜单里找到Programs->Carbide.C++ v2.0->Configure
environment for WINSCW command line, 运行此命令。 该命令会配置编译x86版本的S60程序需要的环境变量,
这样在普通的windows命令行也可以使用这些环境了。

编译Qt for S60的模拟器版本

S60 SDK提供了一个桌面版本的S60环境模拟器, 我们要把Qt编译成对应的版本就可以在模拟器上运行和调试Qt程序了。

首先“开始”->”运行”->”cmd”打开一个Windows命令行终端,

cd c:/qt-s60

set PATH=c:/qt-s60/bin;%PATH%  //注意命令格式和linux环境下的区别, 另外注意不要随便加空格。

configure -platform win32-mwc -xplatform symbian-abld //这个步骤会生成qmake工具和各个目录下的Makefile, 耗时较长

make debug-winscw //编译命令, 耗时较长编译对内存要求较高是笔者实践的经验, 最开始笔者的虚拟机分配512M内存, 这一步总是出错, 而且是很吓人的某某工具内部错误, 后来内存增加到1G就没有问题了。

上面的命令如果都能成功运行, Qt的模拟器版本就编译出来了。 后面我们要找一个小qt程序来测试环境是否正确配置。

运行测试程序


便选一个Qt程序, 也可以是自己写的, 笔者用Qt自带的例子来测试。 提醒大家注意的是这个程序必须和S60S SDK环境放在同一个盘符下,
在我们的环境里就是必须放在C盘。 因为S60的环境去找文件的时候前面没有给出盘符,
如果放到其他分区下就会出现找不到Symbian下的文件的问题。

进到qt-s60目录下的examples/painting/basicdrawing, 运行命令:

make debug-winscw //编译

make run //在模拟器里运行

这时会先弹出Windows的防火墙界面, 选“Unblock”, 再弹出S60模拟器界面, 并且会弹出一个Open C++的一个类似许可证的界面, 要关闭这个界面程序才会运行。 好了, 顺利的话你应该就能看到程序跑在模拟器里的样子了。

编译和发布手机程序

将你的手机连接与电脑的PC Suite连接。

安装Qt的基本库


到Qt的预编译包, 在C:/qt-s60/qts60binaries/5.0/qt_libs_armv5_udeb.sisx, 双击此文件PC
Suite会自动安装, 这个包只需要安装一次, 除非你升级Qt版本。 注意, 如果你的手机是像笔者一样有多个存储器,
请选择安装在手机(而不要选安装在存储卡), 这其中的道理笔者也没有弄明白, 只是不安装在手机上就运行不起来。

安装pips包

如果你的手机里没有带这个软件, 那么需要安装一下。 从http://pepper.troll.no/s60prereleases/patches/pips_nokia_1_3_SS.sis
下载后双击安装。 此包只需安装一次。

编译和安装例子程序

还是以刚才的basicdrawing程序为例。

进入程序目录, 运行命令:

make debug-gcce //编译

createpackage
-i basicdrawing_gcce_udeb.pkg //这一步笔者这里出错了, 不知道为什么,唉;
后来改用了rvct的编译器就成功了。
大家试一下看看gcce能成功吗?给我留言。(后来笔者换用另外一台机器的环境这个步骤就成功了,事实证明这个免费提供的toolchain也是可以用
的。 至于笔者环境究竟哪里除了问题还需要继续深入研究。)

如果使用商业版的RVCT编译器, 这里的编译和打包命令略有不同, 应为:

make debug-armv5

createpackage -i basicdrawing_armv5-udeb.pkg

PC Suite会自动弹出安装界面, 手机端也会弹出安装界面, 与前面安装qt库一样。

Qt的examples里面的例子默认安装在手机菜单“应用程序”同级的“QtExamples”文件夹下, 而如果是你自己写的程序, 则会安装在“应用程序”文件夹内, 大家可别找不到程序在哪儿哦~

好了, 快点来感受一下Qt程序在手机上的效果吧。 显示方面和在模拟器上没有什么区别, 只是笔者发现Qt程序对键盘的处理好像还没有做好, 上下键都不好使, 对于键盘操作的手机可真让人郁闷了。 这个问题还需要继续研究一下。

总的来说配置Qt For S60的环境虽然步骤比较多, 但一步一步做下来还算是个比较傻瓜的过程。 唯一的问题是如果一切顺利还好办, 万一哪一步出点什么错就麻烦了, 基本上有任何问题都会成为不可调和的矛盾, 这一点让人觉得太不爽了。

本站所有文章由本站和原作者保留一切权力,仅在保留本版权信息、原文链接、原文作者的情况下允许转载,转载请勿删改原文内容, 并不得用于商业用途。 谢谢合作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息