由于Series 60应用程序可以从命令提示符或IDE中建立,因此我们同时具体介绍了这两种方法。我们先从使用IDE提供的C++编译器建立运行在PC上的模拟器(也就是x86指令集)的项目开始。
我们同时使用了调试建立,因此可以使用符号调试信息和内存漏洞检查(动态地检查堆上分配的内存是否被正确地释放了)。
从命令行建立程序
打开命令提示符并把当前路径改变到包含Series 60 SDK的驱动器/文件夹中。导航到包含项目定义(helloworld.mmp)和组件描述(bld.inf)文件的文件夹——例如:
\Symbian\Series602_0\EMCCSoft\HelloWorld\group
上面的代码用于Series 60 2.x项目,或者
\Symbian\6.1\Series60\EMCCSoft\HelloWorld\group
上面的代码用于Series 60 1.x项目。并输入:
bldmake bldfiles
一两秒钟之后这个命令就完成了,它没有任何可视的输出。它使用bld.inf和helloworld.mmp文件生成了一个新文件abld.bat。这个命令文件一般是根据需要生成的。与bld.inf和.mmp文件不同,abld.bat在不同的IDE之间是不能迁移的,并且不应该手动修改它。
输入下面的命令编译和链接项目:
abld build wins udeb
—用于Visual C++
abld build winsb udeb
—用于Borland C++
abld build winscw udeb
—用于CodeWarrior
Abld命令将为Series 60模拟器(wins、winscw或winsb)建立该项目(换句话说,就是编译和链接),并把调试信息包含在二进制可执行文件中。
从IDE中建立程序
项目(例如我们的示例HelloWorld应用程序)通常在某个IDE中建立和运行,因此我们需要使用bld.inf和HelloWorld.mmp文件建立特定IDE的项目文件。对于Visual C++来说,这种工作必须使用Symbian提供的工具在命令行上完成。对于Borland和CodeWarrior来说这是可选项,因为这两种IDE都可以导入bld.inf或.mmp文件来建立IDE项目文件。
当我们从命令提示符开始工作的时候,假如abld.bat文件不存在,就有必要建立它;假如.mmp文件或bld.inf文件改变了也需要重新建立它。在命令提示符下输入下面的内容建立abld命令文件:
bldmake bldfiles
使用微软Visual C++建立程序
打开命令提示符,导航到HelloWorld项目的驱动器/项目文件夹,并输入:
abld makefile vc6
这将建立适合微软Visual C++的项目和工作空间文件(helloworld.dsp和.dsw文件)。它们将位于\Epoc32\Build子文件夹结构下;其完整的路径依靠于SDK的位置,例如:
\Epoc32\Build\EMCCSoft\HelloWorld\HelloWorld\Wins
通过在Visual C++中打开工作空间文件(helloworld.dsw),你可以编译或链接应用程序,这是通过按下F7或使用IDE菜单选项BuildBuild HelloWorld.app实现的。
使用Borland C++IDE Builder 6建立程序
假如你使用Borland C++Builder 6移动版(它是基于Borland C++Builder 6个人版并增加移动插件构成的),你可以简单地把HelloWorld项目的bld.inf文件导入IDE中。使用FileNewOther菜单选项,接着选择对话框中的Mobile(移动)数据页的Import Mobile application(导入移动应用程序)。
浏览组件描述文件(bld.inf)的位置并打开它。
使用Ctrl+F9或菜单中的PRojectMake建立程序。为了建立并运行,使用F9或菜单中的RunRun。请注重F9或RunRun将导致项目每次都重新建立。假如仅仅在模拟器上运行,使用ToolsMobile Build ToolsRun Emulator(工具移动建立工具运行模拟器)。IDE可能会提示你保存大量项目相关的文件,例如Borland项目(.bpr)、Borland项目组(.bpg)文件。这些文件保存的位置与你的bld.inf文件的文件夹相同。
我们也可以执行独立的abld命令并且运行其它一些SDK工具(例如ToolsMobile Build Tools菜单上的aifbuilder和sisar)。
使用Borland C++BuilderX建立程序
使用任何一种商业C++BuilderX产品的时候,你都可以简单地把HelloWorld项目的bld.inf文件导入IDE中。
使用FileNew并点击对象通道(Object Gallery)中的Mobile C++数据页。选择Import Symbian C++ Project(导入Symbian C++项目)。从下拉列表中选择正确的Series 60 SDK,浏览项目的bld.inf文件的位置。点击Next数据页,给项目取一个名字,点击Finish数据页,项目将会打开。按下Ctrl+F9或ProjectMake Project选择。按下F9或选择RunRun Project或使用工具条项Make and Run运行项目。
使用CodeWarrior IDE建立程序
假如你使用的是Metrowerks CodeWarrior for Symbian(个人版2.5,其它的版本可能有稍微的不同),你可以简单地使用IDE菜单选项FileImport Project from .mmp File(文件从.mmp文件导入项目)来导入HelloWorld.mmp文件。
这将运行项目转换向导。选择该项目使用的SDK,选择(或浏览).mmp文件,选择一种WINSCW平台(或让它空着)。Build变量的默认值是UDEB。使用F7或菜单中的ProjectMake建立项目。
CodeWarrior项目文件(.cmp、.xml、.resources和.pref文件)都会自动地建立在HelloWorld.mmp文件所在的目录中。
你也可以选择通过命令行建立CodeWarrior IDE项目。运行前面描述的bldmake bldfiles,接着它会生成一个CodeWarrior IDE项目:
abld makefile cw_ide
这将在目录中建立一个可以导入的项目文件HelloWorld.xml:
\Epoc32\Build\EMCCSoft\HelloWorld\HelloWorld\Winscw
现在你可以使用CodeWarrior导入这个文件并生成一个本地项目(.mcp)文件。选择FileImport Project(导入项目)菜单选项,选中HelloWorld.xml文件,为项目选择一个名称(例如HelloWorld)。CodeWarrior将生成并载入该项目,你可以使用正常的IDE命令进行建立、运行、调试等操作了。
更多内容请看C/C++技术学堂 C/C++技术专题 C/C++进阶技术文档专题,或