XY

没有任何借口
posts - 9, comments - 31, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

symbian应用程序开发1

Posted on 2008-09-07 20:51 路缘 阅读(1734) 评论(1)  编辑 收藏 引用 所属分类: 移动开发
 

1.1. Developing Series 60 Applications

1.1.1.    Getting Started

Series 60 SDKs Symbian公司发布的指定版本的Symbian OS C++ SDKs构建。一个SDK包含工具、应用程序接口、类库和文档等,以方便开发者能够开发新的应用程序。

每个Series60的产品都建立在特定发布平台之上,而开发人员经常需要在不同版本的Series 60 SDKs上工作,或为了不同的用户接口平台,使用不同的SDKs

1.1.1.1.          开发过程概述

大部分的开发和测试工作可以通过PC平台上的模拟器来完成,尽管在目标机上的调试有所限制。此外,为了能够为目标设备构建可执行程序,有几种二进制格式(如ARMI,ARM4,Thumb)。编译和链接的过程可以通过命令提示符工具或其他IDE工具完成。

有两个通用的项目文件:projectname.mmpbld.inf文件。这两个文本文件将作为构建选项的起始点,指定IDE、平台变量等。

bld.inf文件指定了项目中所有组件的名称,以及每个组件对应的自己的.mmp文件。如果一个工程有多个组件构成,如除了应用程序自身外,还有其他的指定的函数库,则每个组件都有其自己的mmp文件,每个库加上应用程序都有一个mmp文件,而每个文件名称将会列举在项目的bld.Inf文件中。

从一般symbian文件生成IDE和特定平台的项目文件的流程如下图所示:

2-2-1-1

 

下面来看“hello world”的例子。

1.       项目中有bld.infhelloworld.mmp。用这两个文件作为输入,通过symbianbldmake工具,可以生成abld.bat命令文件。然后就可以用abld.bat文件在命令提示符中执行项目相关的动作。如下图所示:

执行后就会在目录中生成相应的

2.       很多时候项目是在IDE中构建和运行的,这时你就要为你选择的IDE创建相关的文件。这里我们主要来看一下VC++。我们可以用abld在命令提示符中创建Hellowrold.dspHelloworld.dsw文件。但从网上说3rd不支持VC6,具体原因等深入了看能不能解决,如下图所示:

后来我把默认设备改为2.0版本的,但仍然有其他问题,通过网上查询,说是路径没有安装在系统盘目录的缘故。

不过用VS2005很方便,可以直接通过mmp文件或inf文件进行导入。

3.       用指定的IDE打开项目文件,将允许你在IDE的完全支持下,进行开发、构建、运行和调试。对于习惯用命令提示符的开发人员,abld仍然能满足你编译和链接的要求。

4.       可能是我的计算机性能比较差的原因,用VC2005运行Symbian9.2自带的helloworld程序,模拟器出现过后,半天才有反应。一开始还以为哪儿又出问题了,怎么结果出不来。

 

关于VC6成功编译Helloworld的例子:

按照上面的做法,始终没有成功,心中老是有疙瘩,于是决定用2nd版本进行尝试,最后终于成功,写下流程供大家参考:

1.       准备工作。首先保证Series60_v20安装在系统盘,即C盘。我一开始安装在了D盘,不过直接拷贝到C盘去仍然能用,所以不用再重新安装了。设置环境变量:

环境变量名

环境变量值

备注

EPOCROOT

\Symbian\7.0s\Series60_v20\

该变量值不能有驱动盘符号

VC6_ROOT

D:\Program Files\Microsoft Visual Studio

我的VC6的安装路径,用在环境变量path中,可不用,path中直接写路径即可。

path

%VC6_ROOT%\Common\Tools\WinNT;%VC6_ROOT%\Common\MSDev98\Bin;%VC6_ROOT%\Common\Tools;%VC6_ROOT%\VC98\bin;C:\Symbian\7.0s\Series60_v20\Epoc32\tools;C:\Symbian\7.0s\Series60_v20\Epoc32\gcc\bin;

其中前一部分是VC6相关目录的路径,后一部分是Series60_v20相关的路径。其余跟symbian开发不相关的路径,我用省略号省略了

其次若电脑上装有多个设备的话,要确保当前设备为Series60_v20版本的。下面我们来看查看设备和设置默认设备的相关命令。查看可获得的设备,用命令devices。如下图所示:

更改默认设备的命令如下:

2.       运行cmd,改变当前目录到.inf文件和.mmp文件的目录,我这儿是目录“C:\Symbian\7.0s\Series60_v20\Examples\basics\helloworld”。

3.       输入【bldmake bldfiles,回车产生文件“ABLD.BAT”。

4.       输入【abld build wins udeb,则为模拟器构建工程,含有可执行二进制的调试信息。若要为VC6构建工程文件,可输入【abld makefile vc6】。则会生成vc6.dsw文件和.dsp文件,文件的位置依赖于你电脑上SDK的位置,我这儿文件产生的位置为“C:\Symbian\7.0s\Series60_v20\Epoc32\BUILD\SYMBIAN\7.0S\SERIES60_V20\EXAMPLES\BASICS\HELLOWORLD\HELLOWORLD\WINS

5.       找到.dsw文件,打开工程,运行输出Helloworld,如下图所示:

2-2-1-2

1.1.1.2.          模拟器

用模拟器进行开发、调试、测试的好处就不多说了,模拟器的外观主要依赖于目标平台、所用的Series 60 的版本和选择的IDE。虽然模拟器给我们学习symbian开发带来了很多方便,但是由于模拟器和真机之间的某些不同无法克服,像摄像头、震动、精确的时间、程序性能、内存管理等等,所以在某种意义上,开发和测试仍需要用真机。

S60的显示器,逻辑上可以划分为三个区域:状态区、主区域、控制区。状态区显示当前程序的信息、设备的一般信息,如信号强度、电量。主区域主要显示程序数据。而控制区域是指屏幕下方的两个按键标签,用于指示选择进行响应的操作。其实就跟手机一样。我们来看一下3rd_FP1的模拟器界面,如下图所示:

2-2-1-3

Feedback

# re: symbian应用程序开发1  回复  更多评论   

2009-05-03 03:10 by kaisne
很详细啊,谢谢分享啊

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