franksunny的个人技术空间
获得人生中的成功需要的专注与坚持不懈多过天才与机会。 ——C.W. Wendte
该文档在网上比较多见,我只是找来结合自己的安装做了些增补,增补以红色字体示出

第一章     环境搭建

      

       SymbianNokia公司开发的一款智能手机操作系统。Nokia根据手机的屏幕大小和价格高低把手机分成了多个系列,现在使用的系列有:Series   40Series   60Series   80   Series   9060系列采用Symbian   os   6.1,然后又根据手机屏幕的特点对UI做了一些修改,这个被修改了的Symbian就被称为Nokia60系列平台。使用60系列的手机型号包括:Nokia   6670   Nokia   6630   Nokia   6260   Nokia   N-Gage   QD™   Nokia   7610   Nokia   6620   Nokia   3620   Nokia   3660   Nokia   6600   Nokia   3600Nokia   3650Nokia   7650Nokia   N-Gage™等。  
    
下面我们就以60系列为例,介绍开发环境的安装过程。

 

1        环境组成

       Symbian开发环境一般分为两大部分:集成开发环境(含编程语言)、专有开发工具。程序员在集成开发环境下按Symbian规范要求编写程序代码,然后用专有开发工具编译、打包、发布Symbian平台执行程序。

       为统一开发规范,Symbian开发环境和编程语言一律采用如下配置:

集成开发环境(IDE):Microsoft Visual Studio 6.0C++

专有开发工具:Series 60 SDK for Symbian OS 2.1Active Perl 5.8.8JRE1.4.2

 

2        安装IDE

       标准的Microsoft Visual Studio 6.0安装步骤,这里不做说明。

注意:必须包含Visual C++,必须打SP3的补丁。(现在有SP6补丁,直接打SP6补丁就可以了)

 

3        安装SDK

第一步:安装SDK,推荐为Symbian开发单独建一个目录,统一为:“C\Symbian”不允许其他的目录出现。

第二步:安装Active   PerlJ2RE,安装到默认目录即可。

第三步:检查环境变量设定。打开系统环境变量tab,然后看看有没有EPOCROOT,如果有的话,把它手动改成“\   。改完之后应该是这个样子的:
       EPOCROOT   =   \  
     
然后,在系统PATH中加入   \epoc32\tools目录以及\epoc32\gcc\bin目录就可以了。

(这里实际操作时如果没有EPOCROOT变量项则新建一个环境变量名为“EPOCROOT”使其变量值为“\Symbian\7.0s\Series60_v21_C\”,同时在PATH中的设置如上所述。)

4        配置VC

      

              C:\Symbian\7.0s\Series60_v21_C\Series60Tools\ appwizard

目录下的EpocAppWiz.awxEPOCAPPWIZ.HLP文件拷贝到vc6的模板目录

              C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Template

下。这样我们就可以在VC的新建工程中看到Series  60  AppWizard  v  1.9这个选项。

 

至此,SYMBIAN的开发环境已经全部搭建完毕。

       注意:如果安装了类似于ORACLE这样自带PerlJava环境的软件,需要修改环境变量才能正确编译Symbian程序。具体要结合实际情况解决。


第二章     编译与打包

 

【说明】由于Symbian中有很多新的概念和新的组织架构,这些基本的概念和组织架构内容较多,不便在这里展开,详细地内容需要参考Symbian方面的书籍。

 

1        新建立第一个项目

       打开VC6开发环境,点击“File--〉“New--〉“Projects--〉“Series  60  AppWizard  v  1.9,然后根据提示,一路点击“Next”后可以完成项目框架的自动生成。过程中详细的分解说明详细参考Symbian方面的书籍。

2        导入项目

       如果要将已经建立好的工程导入到VC6.0中,比如我们将SDK中的例子HelloWorld转换成一个VC6的项目,我们首先进入\Symbian\6.1\Series60\Series60Ex\HelloWorld目录。在这里我们可以看到,在Symbian中,一个Project通常是按inc,   src,   group等目录组织(目录详细说明参考Symbian方面的书籍),group目录里通常放的是项目文件,所以编译时要先到这里。用命令提示符模式进入刚才说的那个目录下,然后执行:  
       bldmake   bldfiles  

       这个命令会在group目录下生成一个abld.bat的批处理文件,并且会在

       c\Symbian \7.0s\Series60_v21_C\Epoc32\BUILD

       下生成

       \Symbian\7.0s\Series60_v21_C\Epoc32\BUILD\SYMBIAN\6.1\SERIES60\SERIES60EX\HELLOWORLD\GROUP

       这个目录,并在最底层目录下生成一堆   .make文件。

       然后,我们在同一个目录(……/GROUP)下执行如下命令:

       abld  makefile  vc6

       这样就会自动生成vc6dsw文件,位置在

       \Symbian\7.0s\Series60_v21_C\Epoc32\BUILD\SYMBIAN\7.0s\SERIES60_V21_C\SERIES60EX\HELLOWORLD\GROUP\HELLOWORLD\WINS

       然后我们就可以在VC6种打开这个Symbian工程了。

【注】如果是采用第一种方式(新建)生成的项目,是不需要执行这两个命令的,所有相关文件会自动生成。(本人在实际工作中,发现用第一种方式(新建)生成的项目还是需要执行如上这两个命令的,否则没有dsw文件存在

3        编译

       对于如上两种方法建立的项目,接下来就需要编译生成目标代码了。

     我们可以直接使用SDK提供的工具编译Symbian工程,也可以使用VC6提供的集成环境来编译转化过的Symbian工程。编译的结果存放在

     \Symbian\7.0s\Series60_v21_C\Epoc32\Release\wins\UDEB\Z\SYSTEM\apps

目录中。
3.1  使用SDK提供的工具编译Symbian工程

       我们在上一节的那个位置(……/GROUP)继续输入:
    
abld   build   wins  udeb

     这个命令会编译我们的程序,最后在

       \Symbian\7.0s\Series60_v21_C\Epoc32\Release\wins\udeb

       目录下生成我们的helloworld,然后我们可以从开始菜单里运行模拟器的debug版,在模拟其中就可以运行helloworld了。  

3.2  使用VC6编译Symbian工程

     我们直接打开工程dsw文件,VC自动装载转化过的工程。按F7便可以直接编译工程,编译结果放在

       \Symbian\7.0s\Series60_v21_C \Epoc32\Release\wins\UDEB

目录中。然后我们打开模拟器debug版,就可以看到我们编译好的工程了。

      

4        打包

4.1  检查程序

     首先,在命令行格式下,进入HelloWorld工程mmp文件所在目录,输入

       bldmake   bldfilesabld   build   wins   udeb

       然后打开模拟器,检测程序有无错误。

4.2  编译工程

      在程序无错误后,在命令行输入

       abld   build   armi   urel  

     执行这个命令之后会在目录

     c:\symbian\7.0s\Series60_v21_C \epoc32\release\armi\urel

       生成HELLOWORLD.APPHELLOWORLD.RSC两个文件。

(如果该工程文件内没有资源,那么通过如下编译只能产生.app结尾的文件,不能产生.rsc结尾的资源文件)

4.3  建立.pkg文件

   

     c:\Symbian\7.0s\Series60_v21_C \Series60Ex\helloworld\sis

     用记事本建立或者修改工程的pkg文件,内容如下:

;   HelloWorld.pkg  
 ;  
 ;Language   -   standard   language   definitions  
 &EN  
 ;   standard   SIS   file   header  
  #{"HelloWorld"},(0x10005B91),1,0,0  
   ;Supports   Series   60   v   1.2  
  (0x101F8202),   0,   0,   0,   {"Series60ProductID"}  
 ;  
 "d:\symbian\6.1\series60\epoc32\release\armi\urel\HelloWorld.APP"-"!:\system\apps\HelloWorld\HelloWorld.app"  
 "d:\symbian\6.1\series60\epoc32\release\armi\urel\HELLOWORLD.rSC"-"!:\system\apps\HelloWorld\HELLOWORLD.rSC"  
   

     其中,前面

"c:\symbian\7.0s\Series60_v21_C\epoc32\release\armi\urel\HELLOWORLD.rSC"

    是要打包安装的文件,"!:\system\apps\HelloWorld\HELLOWORLD.rSC"是安装的目标位置。在其中要注意的是,我们在目标位置中用“!”代替了实际的盘符。这样做得好处是在用户安装的时候,手机系统会提示用户选择要安装的位置,这就给了用户更大的灵活度。另外,在Symbian   系统中,安装的应用程序默认位置是“!:\system\apps”。

    编辑好pkg文件后,保存至相应目录。

(有时候如果没有生成rsc文件,则在以上PKG文件中也不用包含rsc结尾的文件) 

4.4  打包程序

    在命令行中,在目录

       c:\Symbian\7.0s\Series60_v21_C \Series60Ex\helloworld\sis

    下运行命令makesis   HelloWorld.pkg

posted on 2007-09-19 17:27 frank.sunny 阅读(1999) 评论(4)  编辑 收藏 引用 所属分类: symbian 开发

FeedBack:
# re: Symbian编程起步
2007-09-22 00:00 | shaker(太子)
Series 60 SDK for Symbian OS 2.1 哪里下载?  回复  更多评论
  
# re: Symbian编程起步
2007-09-24 08:05 | frank.sunny
在Nokia官方网站就有,你如果真想下google一下也就有了,SDK又不用收钱,下一个不难。  回复  更多评论
  
# re: Symbian编程起步[未登录]
2009-06-29 17:47 | 张磊
@frank.sunny
你好 我的uiq模拟器一段时间就不响应操作了,你能说明下可能的原因吗?  回复  更多评论
  
# re: Symbian编程起步[未登录]
2009-06-29 17:48 | 张磊
如果可以 邮箱:ily2004@163.com  回复  更多评论
  

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理



常用链接

留言簿(13)

随笔分类

个人其它博客

基础知识链接

最新评论

阅读排行榜

评论排行榜