如何从C++过渡到SYMBIAN C++?

Posted on 2010-05-06 14:27 Learn 阅读(160) 评论(0)  编辑 收藏 引用
一、Symbian简介
 
Symbian是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,可以支持GPRS、蓝芽、SyncML、以及3G技术。Symbian主要用于高端的智能手机,其开发语言为C++。Symbian 是真正的微核操作系统,所谓“微核”,就是说操作系统只有很小的一部分是运行在最高优先级的,其他的功能都是以Client-Server的方式提供。
 
二、Symbian开发环境的布置
 
I.  起点-SDK和IDE的选择
 
这里主要针对S60的开发环境的建立,因此首先为大家列出S60系统的各种版本。因为开发者应该根据需要,选择自己适合的SDK版本。
1、Series60 第一版               -  Symbian OS 6.1
2、Series60 第二版               -  Symbian OS 7.0s
3、Series60 第二版   Pack 1       -  Symbian OS 7.0s
4、Series60 第二版   Pack 2       -  Symbian OS 8.0a
5、Series60 第二版   Pack 3    -  Symbian OS 8.1a
6、Series60 第三版               -  Symbian OS 9.0
 
需要要说明的是,Nokia的Symbian/Series60开发包支持的集成开发环境[IDE]工具有很多种,下面列出主要使用的一些IDE:
1、Microsoft Visual Studio 6 / Visual C++ 6
2、Microsoft Visual Studio .NET [2003] / Visual C++ 7
3、Borland C++ Builder 6
4、Borland C++ Builder X 1.0
5、Metrowerks CodeWarrior Studio for Symbian Personal/Professional 2.0/2.5
 

II.在安装SDK以前保证下列1-3项先被正确安装。SDK和IDE要安装在电脑上的同一个分区。SDK的安装路径不能含有空格。
 
下面详细说明需要安装的软件及其步骤:
 
1、在安装SDk之前必须安装ActivePerl(官方文档要求安装Perl 5.6.1 build 531,并说明安装其他版本可能会有问题
2、安装JAVA Run-Time1.4.1_02 或者新版本说明:在使用命令行编译程序的时候事实上是不需要用到JAVA Run-Time1的。但是若要使用SDK的一个强大的工具ApplicationWizard,就必须安装该组件,同时若要使用Sisar等工具的话,JRE也必不可少。
3、安装IDE,安装Microsoft Visual Studio .NET 2003
4、安装SDK,注意前面所说的SDK的安装路径不能含有空格。并且要和IDE装在同一个分区,这样可以避免一些麻烦
5、安装Nokia Developer Suite - Carbide.vs 。这相当于VS2003的一个插件,用于帮助导入或者建立S60工程
 
相应软件可在诺基亚主页下载
 
III.安装完毕后在系统环境变量path中加入:
{VS2003的安装路径}\Microsoft Visual Studio .NET 2003\Vc7\bin
 
三、下面可以通过一个例子,进一步了解Symbian的开发环境
 
I. 通过Microsoft Visual Studio.NET 2003
 
1.进入Microsoft Visual Studio.NET 2003
2.单击:文件/import Symbian project选择并打开Symbian\8.0a\S60_2nd _FP2\S60Ex\helloworldbasic\group\helloworldbasic.mmp
Project type 为classic
3.然后单击next. 在下一对话框中选中ARMI然后确认Finish ,此时就可以打开basic文件了。
下面运行helloworldbasic这个程序
4.在菜单栏选中生成/生成解决方案(F7),在运行对话框中单击生成,此时会显示:
Helloworldbasic - 最新。
 

---------------------- 完成 ---------------------
    1成功 0 失败 0跳过
5.接下来点击调试/开始执行。
此时会自动打开series 6.0的调试模拟器,同时还可发现在调试模拟器的应用程序中多了一个HelloWorldBasic程序
 
这是一种用Microsoft Visual Studio.NET 2003直接调试的方法,除此之外还可以用Windows命令行进行调试
 
II. 用Windows命令行进行调试:
 
1.找到helloworldbasic文件夹的地址,
Symbian\8.0a\S60_2nd _FP2\S60Ex\helloworldbasic\group\
2、构建我们的例子,输入:
bldmake bldfiles
这一步会生成一个文件ABLD.BAT。
3、编译和链接,输入:
abld build wins udeb
这一步会生成供Series 60 调试模拟器使用的文件。
4、运行,在命令行进入:
Symbian\8.0a\S60_2nd_FP2\epoc32\release\wins\udeb
这个目录含有刚生成的helloworld.exe文件。然后输入:
Helloworld
此时会自动打开series 6.0的调试模拟器,同时还可发现在应用程序中多了一个HelloWorldBasic程序
 
下面简单介绍一下以上各步的含义:
当我们运行
bldmake bldfiles
这个命令时,会处理当前目录下的bld.inf文件,具体来说会执行以下处理过程:
1、生成目录
Symbian\8.0a\S60_2nd_FP2\epoc32\BUILD\Symbian\8.0A\S60_2ND_FP2\EXAMPLES\BASICS\HELLOWORLD
2、在这个目录下,生成一系列的Make文件,针对各种目标环境。比如VC7.MAKE,CW_IDE.MAKE等等。
3、在当前目录下生成abld.bat文件,这个文件会在随后用到。可以查看该文件的内容。但是建议不要手工的更改它的内容。Bldmake命令也支持其他的命令行选项,可以直接输入bldmake来查看简要的介绍,还可以查看SDK文档了解详细信息。由bldmake处理bld.inf文件得到的abld.bat文件,使得abld命令可用。Abld.bat控制着构建一个项目的方方面面。Abld命令的语法非常地灵活,它拥有许多命令行选项,它们的组合涵盖了各种构建需求。最常用的组合,莫过于abld build 和 abld clean 相关了。
 
当我们运行
abld build wins udeb
这个命令时,将为wins平台(即通常的VC++环境)生成一个debug版本的程序。具体来说,在
D:\Symbian\8.0a\S60_2nd_FP2\epoc32\BUILD\Symbian\8.0A\S60_2ND_FP2\EXAMPLES\BASICS\HELLOWORLD\HELLOWORLD\WINS\UDEB
和D:\Symbian\8.0a\S60_2nd_FP2\epoc32\release\wins\udeb下面各生成了一些文件比如Helloworld.exe文件。
 
在运行此文件就可以得到最终的效果了
 
还要说明一点的是,示例所用的SDK,IDK分别是
SDK:SERIES 60 2ND EDITION SDK FOR Symbian OS  SUPPORTING FEATURE PACK 2 
           SUPPORTING MICROSOFT VISUAL C++  CHINESE SIMPLIFIED EDITION
IDE:Microsoft Visual Studio .NET 2003 
如果严格按照以上步骤仍得不到正确的效果可能是版本不同造成的 版本不同可能会有相应的改动
 
四、 推荐几个有关Symbian的网站
1.Symbian OS官方网站 不用多说,这是Symbian相关信息的最权威来源。
 
2.诺基亚论坛 这是最为活跃的移动开发技术社区。尤其是关于Nokia Series系列的资源非常的丰富。 而且,现在还有 诺基亚论坛简体中文版 这极大的方便了国内的开发者学习相关技术。
 
3.UIQ的官方网站 UIQ Technology AB成立于1999年,是完全归Symbian公司所有的一家子公司。他们面向开发移动设备的UI Platform——UIQ,并授权给那些全球领先的移动设备制造商。
 
 
 
五、常见单词缩写及其含义:
VCL是Visual Component Library的缩写,即可视组件库
MFC,微软基础类(Microsoft Foundation Classes),
GUI是图形用户界面(Graphic User Interface)
IDE是Integrated Device Electronics(电子集成驱动器)的简称,是一种硬盘的传输接口,它有另一个名称叫做ATA(AT Attachment),这两个名词都有厂商在用,指的是相同的东西。
 
这里的IDE指 集成开发环境Integrated Development Environment
 

DLL即 Dynamic Link Library(动态链接库)。
API就是 Application Programming Interface,就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用程序的命令(动作)
SDK (Software Development Kit),就是“软件开发工具包”。
 

川大科技园职业技能培训学院(3G嵌入式技术创新中心)

咨询热线:400-702-8828  028-6862 6028

网址:http://www.ctic.cc

地址:四川省成都市科华北路47号(川大科技大厦)2楼

posts - 41, comments - 14, trackbacks - 0, articles - 2

Copyright © Learn