java和pison_Symbian开发

2.4 从“Hello World”开始

从K&R开始,“Hello World”几乎成了入门必修课。呵呵,我们也顺其自然吧。

我们先将整个流程过一遍,然后再解释每一步都发生了什么。以下涉及到的各种路径都是以笔者的实验环境为依据的,您需要自行替换为自己机器上的路径。

2.4.1 从命令行编译

1、打开VS.NET 2003自带的命令行,进入以下目录:

D:\Symbian\8.0a\S60_2nd_FP2\Examples\basics\helloworld

这里有我们即将涉及到的三个文件:

HelloWorld.cpp         C++源文件

HelloWorld.mmp        项目定义文件

Bld.inf                        组件定义文件

2、构建我们的例子,请输入:

bldmake bldfiles

这一步会生成一个文件ABLD.BAT。

3、编译和链接,请输入:

abld build wins udeb

这一步会生成供Series 60 调试模拟器使用的文件。

4、运行,请在命令行进入:

D:\Symbian\8.0a\S60_2nd_FP2\epoc32\release\wins\udeb

这个目录含有刚生成的helloworld.exe文件。然后输入:

helloworld

这会调用Series 60的模拟器,并在其中运行helloworld.exe程序。效果如图2所示

Series%2060%20Platform%20UI.gif

2.4.2 与VS IDE配合

1、先重复2.4.1节的步骤1和2

2、请输入以下命令:

abld makefile vc7

这会在目录:

D:\Symbian\8.0a\S60_2nd_FP2\epoc32\BUILD\SYMBIAN\8.0A\S60_2ND_FP2\EXAMPLES\BASICS\HELLOWORLD\HELLOWORLD\WINS

下面生成VS.NET 2003所需的解决方案文件、项目文件等等。

还有一种方法是,输入以下命令:

makmake helloworld vc7

这也会生成VS.NET 2003所需的解决方案文件、项目文件等等,只不过是在当前的目录下。

3、通过上述过程生成的文件,即可在VS.NET 2003的IDE中打开helloworld项目。然后就可以按照构建、运行、调试其它项目的方法来处理该项目了。比如:输入HELLOWORLD.sln,然后用Ctrl+Shift+B生成,再用Ctrl+F5直接运行(不调试),效果与图2一样。您会注意到,模拟器出现的很快。那是因为该项目是个简单的控制台程序,无须载入各种GUI库即可运行。

2.4.3 发生了什么?

上面只是按部就班的讲述了如何构建一个简单的程序,之所以没有涉及细节,是为了使您可以快速的体验一下开发过程(不包括调试,生成最终的发布版,载入实际目标设备运行等步骤)。下面就具体的介绍一下Symbian OS构建过程。

目前,构建Symbian 程序的两条主要的工具链为:

基于Metowerks CodeWarrior 编译器的工具链。

基于Microsoft Visual C++编译器的工具链。

您可以根据自己的意愿或需要来选用合适的工具,并配合相应的IDE来方便开发。但是一般来说不可以混合使用它们。

由于Symbian程序的构建工具以及最终目标的多样性,Symbian项目通常会先以一种通用的格式来描述。然后,可以使用相应的构建工具链来处理这个中立的项目文件,生成特定的项目文件。

刚开始,只有HelloWorld.cpp,HelloWorld.mmp,Bld.inf 这三个文件。其中HelloWorld.mmp和Bld.inf就是两个关键的项目文件。

HelloWorld.mmp:项目定义文件,描述了将要构建的项目信息,还定义了一些资源文件和应用程序信息文件。它是一个环境中立的文件,可以使用各种工具来处理并生成各种目标环境的make文件。您可以使用文本编辑器查看该文件。里面的信息还是很简明的,包括构建目标,构建类型,源路径,库文件,头文件等等信息。

Bld.inf:组件描述文件,它列出了一个组件当中包括的所有项目,还包括一些额外的构建指令。您也可以使用文本编辑器查看该文件。对于本实例来说,仅包括一个项目HelloWorld.mmp。

2.4.3.1 Bldmake命令的作用

当我们运行

bldmake bldfiles

这个命令时,会处理当前目录下的bld.inf文件,具体来说会执行以下处理过程:

1、生成目录

D:\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文档了解详细信息。

2.4.3.2 abld命令的作用

由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文件。

如果只是调用

abld build

那么会为所有可能的平台构建程序。

而运行

abld clean

会删除属于当前组件的,编译过程中生成的所有中间文件和可执行文件,以及由链接器导入的库文件。

您也可以指定只删除某个平台的文件。

具体的abld语法,请查看SDK文档。

2.4.3.3 makmake命令的作用

简而言之,就是处理.mmp文件,生成各种目标平台的make文件。既可以针对命令行来生成,也可以针对IDE来生成。用于命令行的makefile无法用于IDE。

所以我们的命令:

makmake helloworld vc7

就为VS.NET 2003 IDE生成了相关的makefile,然后我们就可以通过这些文件借助VS的强大功能了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值