Qt for S60第五版植入5230

Qt for S60第五版植入5230
2010年12月02日
  
笔者最近比较勤劳, 花了一天的时间把qt-s60的环境安装并测试了一下, 发现还挺有意思, 特此memo。听说诺X亚内部已经开始使用qt开发程序, 所以各位看官也要抓紧拉, 如果你掌握了这门技术,没准儿以后就能在诺X亚大颚家里谋个一官半职……后半辈子就不用愁了,呵呵~
  网上关于Qt For S60的安装和配置已经有了一些现成的文章, Qt文档里也有一些内容, 但笔者感觉还是比较零散不够系统, 一方面语言的问题, 另一方面找起来太废力气。 本文算是集大成,哈哈(吹一把)~ 加张图,证明吹牛只是咱的副业……
  废话少说, 下面就开始。
  [b]
  开发过程需要用到的软件包及其主要作用[/b]
  [b]Windows环境[/b]
  需要一台装有Windows的机器, 虚拟机也可, 但要内存分配1G及以上, 太少了不行。 笔者使用虚拟机装Windows XP, 内存1G。 C盘保证5G以上的剩余空间(还不见得够用)。
  [b]诺X亚手机一部[/b]
  手机中的S60系统是3.1及以上版本。 本文以Nokia N95 8GB为蓝本。
  [b]Nokia PC Suite[/b]
  这个是Windows和Nokia手机连接的工具, 后面往手机上安装自己的程序时需要用到。 在Nokia网站下载:
  http://nds1.nokia.com/files/support/global/phones/software/Nokia_PC_Suite_7_1_26_1_chi_sc_web.exe
  [b]Qt for S60[/b]
  下载在http://pepper.troll.no/s60prereleases/
  这个包当然是必不可少的。 最近的版本被命名为“Garden”, 多么的诗情画意啊! Trolltech的人还真有艺术细胞。
  [b]Perl和JRE[/b]
  这两个工具是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
  [b]Carbide C++ 2.0[/b]
  必装工具, 而且低版本的不行。 下载在:
  http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/IDEs/Carbide.c++/
  需要注册帐号并登录才能下载。
  [b]S60 SDK 3rd Edition FP1[/b]
  必须是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。 其他的配置方式与本文所述基本一致。
  [b]
  Open C/C++的插件[/b]
  S60 SDK 3.1需要安装此包, 高的版本已经带了此工具就不需要单独下载安装了。 下载在:
  http://www.forum.nokia.com/main/resources/technologies/openc_cpp/
  需要注册和登录
  [b]安装和配置步骤[/b]
  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命令行也可以使用这些环境了。
  [b]编译Qt for S60的模拟器版本[/b]
  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程序来测试环境是否正确配置。
  [b]运行测试程序[/b]
  随便选一个Qt程序, 也可以是自己写的, 笔者用Qt自带的例子来测试。 提醒大家注意的是这个程序必须和S60S SDK环境放在同一个盘符下, 在我们的环境里就是必须放在C盘。 因为S60的环境去找文件的时候前面没有给出盘符, 如果放到其他分区下就会出现找不到Symbian下的文件的问题。
  进到qt-s60目录下的examples\painting\basicdrawing, 运行命令:
  make debug-winscw //编译
  make run //在模拟器里运行
  这时会先弹出Windows的防火墙界面, 选“Unblock”, 再弹出S60模拟器界面, 并且会弹出一个Open C++的一个类似许可证的界面, 要关闭这个界面程序才会运行。 好了, 顺利的话你应该就能看到程序跑在模拟器里的样子了。
  [b]编译和发布手机程序[/b]
  将你的手机连接与电脑的PC Suite连接。
  [b]安装Qt的基本库[/b]
  找到Qt的预编译包, 在C:\qt-s60\qts60binaries\5.0\qt_libs_armv5_udeb. sisx, 双击此文件PC Suite会自动安装, 这个包只需要安装一次, 除非你升级Qt版本。 注意, 如果你的手机是像笔者一样有多个存储器, 请选择安装在手机(而不要选安装在存储卡), 这其中的道理笔者也没有弄明白, 只是不安装在手机上就运行不起来。
  [b]安装pips包[/b]
  如果你的手机里没有带这个软件, 那么需要安装一下。 从http://pepper.troll.no/s60prerel ... s_nokia_1_3_SS. sis下载后双击安装。 此包只需安装一次。
  [b]编译和安装例子程序[/b]
  还是以刚才的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的环境虽然步骤比较多, 但一步一步做下来还算是个比较傻瓜的过程。 唯一的问题是如果一切顺利还好办, 万一哪一步出点什么错就麻烦了, 基本上有任何问题都会成为不可调和的矛盾, 这一点让人觉得太不爽了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值