ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Symbian OS 开发初级手册 (1)(转)

Symbian OS 开发初级手册 (1)(转)

原创 Linux操作系统 作者:jcszjswkzhou 时间:2019-01-12 08:36:08 0 删除 编辑

Symbian OS是当前应用最为广泛的smart phone操作系统。 Nokia,Panasonic,Siemens,Sony Ericsson的很多手机都是基于这个系统的。 可惜国内关于Symbian OS 开发的资料实在很少。

Symbian OS是当前应用最为广泛的smart phone操作系统。 Nokia,Panasonic,Siemens,Sony Ericsson的很多手机都是基于这个系统的。 可惜国内关于Symbian OS 开发的资料实在很少。 所以我打算根据自己的(浅薄)的经验写一套初级教程,让更多的人了解Symbian OS.

说起Symbian OS, 大概很多人都会想到Nokia Series 60, 80等等。 每一个symbian 联盟手机厂商都会在纯粹的Symbian OS上面添加自己的东西。 Series 60 是Nokia 的一个非常流行的软件开发包,7650, 3650, N-gage等等都基于它。我在这里使用的例子都可运行于Series 60. 但是我在这里讲的概念是纯粹的Symbian OS 而不是series 60, 这样的好处在于:有了这个基础, 我们可以为任何一个使用Symbian OS 的手机开发, 而不会局限于某些Series 60等特殊的API。这样可以使你的开发成果能够运行于更多的设备上。

那么首先我们需要Series 60 SDK, 在http://www.forum.nokia.com/main/0,6566,034-4,00.html 下载,安装sdk,详细步骤我就不在这里描述了。 如果有什么问题可以在这里问我。
安装之后,要测试基本路径是不是设置好了。 打开一个命令行窗口,输入 epoc , 如果你看到模拟器运行, 就说明已经安装好了。如果没有的话,请在提问的时候提供错误信息。

有了SDK,我们就已经可以开始开发了! 但是开发环境是很重要的, 任何Symbian OS程序都要涉及多个文件,Symbain 建议使用 Metrowork Codewarrior, 不过考虑VC6的普及程度应该更高,我在这里使用Visual C++ 6.0. 你也可以使用VC. Net, 不过目前中文sdk不支持vc7, 你需要下载英文版的。 以后命令行出现vc6的时候你就要使用vc7。

在讲解我们的第一个hello world程序之前, 我要简单说一下Symbian OS 工程的文件结构, 我们一共需要创建4种文件:
bld.inf 配置文件
*.mmp 工程文件
*.cpp 源代码文件
*.h 头文件

我们的hello world项目中, bld.inf 如下:
PRJ_MMPFILES
HelloWorld.mmp
只有简单的两行, 意思是: 这个配置文件将编译的工程有:Helloworld.mmp. Helloworld.mmp 稍微复杂一些,暂时不在这里讲解,你只需要知道它定义工程中都包括哪些源文件,哪些头文件,哪些lib文件就可以了。

基本的helloworld例子C:/Symbian7.0s/Series60_v21_C/examples/Basics/helloworld. 如果你的安装路径不同,需要相应改变。 由于实在很简单, 这大概是所有例子中唯一没有头文件的项目。Helloworld.cpp 如下:

#include "CommonFramework.h"
LOCAL_C void doExampleL()
{
_LIT(KHelloWorldText,"Hello world! ");
console->Printf(KHelloWorldText);
}
在我们讲解Descriptor之前你只需要知道_LIT把 "Hello world! "这个普通字符串转换成了Symbian OS的字符串格式,并储存在变量KHelloWorldText当中。 console->Printf(..)就是向命令行打印这个字符串。

那么现在我们需要编译这个工程,在命令行中进入examples/Basics/helloworld,输入bldmake bldfiles, 然后abld makefile vc6, 这是创建VC工程文件的基本步骤。 然后打开Visual studio,打开工作区, 在C:/Symbian/7.0s/Series60_v21_C/Epoc32/BUILD/SYMBIAN/7.0S/SERIES60_V21_C/EXAMPLES/BASICS/HELLOWORLD/HELLOWORLD/WINS 中。

分析一下这个巨长的路径你会发现,其实分为4段:

1。 C:/Symbian7.0s/Series60_v21_C/Epoc32 是全局环境变量%EPOCROOT%的所在,后我们在说这个路径的时候就用%EPOCROOT%代替。

2。build 这个目录存放abld 生成的项目文件。

3。SYMBIAN/7.0S/SERIES60_V21_C/EXAMPLES/BASICS/HELLOWORLD 是你的工程所在目录。

4。HELLOWORLD/WINS 是Helloworld项目, windows 模拟器,如果你为手机编译的话,就会是Helloworld/thumb.

然后运行的时候会弹出一个对话框要求可执行文件。 输入 %EPOCROOT%/release/wins/udeb/epoc.exe 然后你就会看到熟悉的"hello world"出现在s60模拟器上了!

先写到这里吧,但愿这些文字对大家有一点用处。 下一次我将介绍Symbian OS 的基本类型 和 代码规范

[这个blogger不能处理反斜线, 所以我只好用 '/'代替!]

常见问题:

1。各种编译问题

请确定你已经安装:

visual studio 6, Active Perl, Series 60 SDK

建议VC, Series 60, 还有你以后写的代码都放到同一个分区下, 可以省去设置上的一些麻烦。

visual studio 6的路径需要设置, 如果没有的话在 系统->高级->环境变量->Path 中添加,详细请看下边评论。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-126303/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-08-29

  • 博文量
    950
  • 访问量
    607669