stevenyao

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  22 随笔 :: 1 文章 :: 67 评论 :: 0 Trackbacks
S60 Qt 开发环境配置指南

安装之前需要下载以下内容:
 
ActivePerl 5.10.1 这是目前最新版本,S60 SDK需要perl 5.6.1以上版本
http://www.activestate.com/activeperl/
 
JRE Java runtime, S60 SDK 需要1.5以上的版本,我一向觉得Java版本管理混乱,下载最近的就好了
http://www.java.com/zh_CN/download/manual.jsp
 
S60 5th SDK, 之所以选择第五版,是因为这是支持触摸操作的版本,现在触摸很流行嘛,另外就是我只在5800上成功地安装了QT程序,貌似S60 5.0以后的版本更可靠些。
http://www.forum.nokia.com/Technology_Topics/Development_Platforms/Symbian_C++/QuickStart.xhtml
Carbide 2.0的下载也在这里,不过下载需要你注册Forum Nokia的帐号,注册一个吧也不麻烦,以后去论坛问问题也用得到。
 
Qt 4.6 for Symbian,下载build好的 binary吧,简单些,源代码是不是真的能编译过,我不太确定,Windows/Linux的编译都很简单 S60 的我还没试过,但是我知道arm的版本用gcce是编译通不过的,需要RVCT才行,但是RVCT不免费,所以还是用TrollTech编译好的binary吧。
http://qt.nokia.com/developer/qt-4.6-beta-for-symbian-developers
 
安装顺序:
ActivePerl, JRE, S60 SDK, Carbide, Qt
注意看提示,Carbide安装完了之后,还要运行程序菜单里面的一个 bat的,用来配置环境变量,别忘了。
 
运行下S60 模拟器,试试看吧,应该是一个和5800差不多的界面,某些程序启动可能会报错,无视之,其实Nokia内部的模拟器更不稳定,习惯鸟。
 
写个程序看看?
先从普通的 S60程序开始吧,启动 Carbide ,File->New->Symbian c++ project,然后选Gui Application, 会生成一个最简单的Helloworld工程。
可能你会发现,Wizard运行完了,界面上什么都没发生,仍然是一个Welcome,别急,那是因为Welcome视图被最大化了,点右上角的 restore按钮就好了。
 
编译运行下吧,编译没通过?有可能,看log会发现是一个 Perl脚本的错误,导致Help编译失败,间接导致 cpp编译失败,因为少了个头文件。。。
这事儿真是脑残,囧,解决方法只能是吧 Help去掉了,打开Bld.inf 注释掉 help的 mk,cpp里和help有关的几行都注释掉,应该就可以了。
 
在模拟器的 application 文件夹下,应该可以看到Helloworld程序的,运行也应该没问题 ,只是显示了个 Note。
从开始下载,到现在,我整整用了4个小时了,还差最后一步,就是QT。
 
还是从 File->new开始,选择 Qt project,这个工程取名叫 QHelloWorld吧按照Wizard都选默认的就好,如果提示你没有指定Qt 版本就指定一下,其实就是告诉Carbide的安装目录,选择下bin的路径而已,Qt版本号用 4.6.0就行。
 
编译吧,应该会很顺利,qt没有help捣乱了。运行下看看吧,qt程序启动后什么都没有,就有个status pane?当然啦,默认的程序什么都没干嘛。
来,我们给它加点东西,现在连退出按钮都没有。。。只能按 红键 退出。
打开 Qhelloworld.ui 文件,会看到一个类似.Net 和 delphi的界面编辑器,从Windows->show view->other...里,把那几个qt的view找出来,重点是那个widgets box,然后就可以编辑UI了,先放一个 按钮上去吧,取名叫 exitButton.
然后 打开 Qhelloworld.h 添加
private slots:
    void on_exitButton_clicked()
    {
        qApp->quit();
    }
好了,这样QhelloWorld程序的界面上就会有一个 叫 exitButton的按钮,按一下就退出程序了。
 
好了,既然搞定了模拟器,下面就是要搞定手机了,毕竟手机程序很在硬件上跑起来才有意义。
首先,你需要一个 s60 5.0的手机,比如 5800 5530什么的,N97也行。
然后去 http://qt.nokia.com/phonedemos 这里下载一个 sis包,大约12Mb,手机下载太慢了,我是用笔记本下载,然后用蓝牙传到手机的。
或者你不想要那些实例程序,那么去Qt的安装目录找一个  qt.sis装吧,只有运行库。
安装这个 sis,会给你安装很多程序,无论问你什么都回答 yes ok就好了,相信吧,Qt和Nokia不会害你的。
这个 sis包括了,qt所需要的运行库和一些demo程序,有了这个,你自己的qt程序就可以在手机上跑了。
 
让Qt程序运行在手机上!
首先,我们需要编译 Qt程序的armv5版本,在 build config里选择  armv5 release,编不过?那是正常的,因为我们没有RVCT,这东西不免费而且很贵。。。
还是用 GCCE吧,性能差点,凑合了吧。但是没有 GCCE这个选项啊?是没有,我也没找到 :(
 
解决这个问题,首先要确认你装了GCCE没有,在你的 S60 SDK安装目录下  epoc32\tools\distrib\ 找一个 叫  arm-none XXXXXX的文件,安装之。
 
我安装了还是没在Carbide看到 GCCE的选项啊,说实话,我也没看到。
于是,我关掉这个工程,重新import一次,注意在选择config的时候把下面的那个 filter去掉,就可以看到 gcce选项了。
 
下一步 做 sis包
比较简单,打开工程的Properties, 选择 build and configuration, 选择 gcce config, 选择 sis builder 页,点add 按钮添加,选一个pkg文件,QHelloworld.pkg,输入sis包的文件名,比如 qhelloworld.sis,其他都用默认就好了。然后 build,就可以生成 sisx文件了,这是签名的。
posted on 2009-11-23 23:14 姚冬 阅读(873) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理