VS2003环境下Symbian工程的导入与建立

来源:互联网 发布:真实的鲁迅很变态知乎 编辑:程序博客网 时间:2024/05/19 02:39
本文讲述怎样导入项目,怎样创建S60项目。这些内容都是我今天花一天时间查阅资料并摸索出来的,中间很可能有不少错误是我没有发现的,欢迎大家指正。阅读本文以前,请保证你的开发环境已经设置好,而且经过验证没有问题。若这部分的内容你不清楚,请阅读我的另外一篇文章Symbian OS开发入门(一) :基于VS.Net 2003的Symbian开发环境的准备

我将讲解4个部分的内容,前3部分内容是独立的,没有顺序之分。

1、将已有的S60工程导入到VS2003中,建立VS2003工程。
2、利用SDK的工具ApplicationWizard建立S60工程并导入到VS2003
3、利用Nokia Developer Suite - Carbide.vs导入、建立工程
4、如何生成能安装到手机上的sis文件 

一、将已有的S60工程导入到VS2003中,建立VS2003工程

这部分内容实际上在第一篇文章中已经包含了,我再把它总结在这里,以保证内容的完整性,整个过程如下:
      1、打开Windows的命令行界面
      2、将刚刚安装的SDK设置为默认的devices.这个可以通过下面的命令设置:
devices -setdefault @S60_2nd_FP2_SC:com.nokia.Series60
事实上SDK的安装过程中就会提示你设置默认的devices。做这个工作的原因是你的系统中很可能安装了多个SDK,那么使用哪个SDK作为当前的开发工具,就需要正确设置。你可以使用命令行devices -default来查看当前的默认SDK是什么。
      3、在命令行界面中用cd命令进入helloworldbasic的group目录:
cd <sdk_installation _directory>/Series60Ex/helloworldbasic/group
在group目录下应该包含bld.inf和helloworldbasic.mmp这两个文件。
      4、在命令行中输入bldmake bldfiles(该命令生成必要的目录)
      5、在命令行中输入:makmake helloworldbasic vc7,这时会在group文件夹下生成一些文件,其中包含VS2003的工程文件HELLOWORLDBASIC.sln
      6、打开VS2003,选择“打开解决方案(Open Solution)”,打开HELLOWORLDBASIC.sln,然后进行编译、运行,模拟器就会执行。(运行的时候可能需要选择程序epoc.exe),[见插图]

二、利用SDK的工具ApplicationWizard建立S60工程并导入到VS2003

      在SDK的安装目录下,在目录Series60Tools中可以找到ApplicationWizard文件夹。利用这个工具,可以十分简单的创建S60工程并且同时生成VS2003工程供你编辑代码、编译和运行程序。这里我只是简单讲解其过程,具体的请自己运行一下,并参考SDK的文档。
1、双击该文件夹下的MS-DOS批处理文件wizard.bat,即可调处Application Wizard工具,如下图所示

2、在上图中相应的位置填写上工程的名称,注意其所在路径不能包含空格,且工程所在的分区要与IDE和SDK安装的分区一致,否则编译的时候会出现找不到路径的提示。点击Creat就会出现下面的截图
      在what type of application would you like to create?中已经默认选择了EIKON,这里是让你选择Symbian OS应用程序的筐架。如果你选择EIKON,则应用程序的Main View会从CCoeControl 类继承;如果选择Dialog Based则Main View会从CEikDialog继承。这里的Main View可以理解为主窗口。另外还有一个选项是Support view architecture,如果你选中了这个选项,那么应用程序向导将会为你创建两个视图(view),每个视图不是继承于CCoeControl类就是继承于CEikDialog类。关于Symbian OS应用程序的筐架你可以参看一些其他的资料。
      Application Title 是指应用程序名称。Application UID是指应用程序的UID(unique identification)。Symbian OS 用一个唯一的 UID 数值来确定和区分安装在设备上面的应用程序,UID必须是16进制的,它的范围在0x00000001 - 0x0FFFFFFF之间。在同一个设备上,UID必须是唯一的,如果有重复的UID存在,那么相同UID的程序将不会在面板上出现。
      INI file 和 Document file 这两项通常不需要选种,它询问你是否产生INI file和Document file,这两个文件通常被认为是没有必要的,它们只会增加系统的访问次数。如果你想要系统支持basic Skins 那么可以选种Skin选项。

3、接下来就是填写一系列的信息。因为我们只是验证一下创建过程,现在不准备深入讲解各方面内容,因此你可以什么都不改。现在直接在上面这个对话框上方的标签中点击”IDE OPTIONS“,将会出现下面所示的界面。安装下图的默认设置,点击“Generate”,将会生成S60的工程文件,并生成VS2003的sln工程解决方案,并且为你自动打开VS2003,加载相应工程。这个时候你就可以编译,运行。

三、利用Nokia Developer Suite - Carbide.vs导入、建立工程
1、直接使用VS2003导入Symbian工程
      Carbide.vs (Nokia Developer's Suite for Symbian OS) 实际上就相当于一个VS.Net 2003的插件,提供了很多实用工具,可以让你十分有效的在VS2003的环境下开发Symbian软件。当前Carbide.vs 支持在VS2003中开发S60,S80和UIQ的软件。利用它,你就可以在VS2003中象创建其他工程一样方便的创建Symbian工程。关于软件的安装,我在第一篇文章中已经讲述。需要注意的一点是:一般要在SDK安装以后再安装Carbide.vs ,否则也许会出现找不到SDK的情况。
     Carbide.vs 是一款免费软件,但是你安装以后会提示你注册,并告诉你只有15天试用期。直接使用你在Nokia forum的帐号可以完成注册。这个在安装了Carbide.vs 以后,启动VS2003时会出现相应提示。

     安装完成以后,启动VS2003,在菜单”文件(Files)“中会被增加一项”Import Symbian Project“,允许你导入以mmp文件或者bld.inf文件标识的Symbian工程。其效果就和前面讲的用命令行创建VC工程差不多。导入以后,就可以编译、运行了。这个过程比较简单,就不作过多说明,大家操作一遍即可。

2、在VS2003中直接创建Symbian工程
    Carbide.vs 允许用户直接使用VS2003创建Symbian工程,这省下很多事情。在VS中选择新建项目,里面直接就有”New Symbian OS Project“[如下图所示]。这时就可以输入工程名字创建新工程。注意一点,工程所在的路径应在IDE和SDK所安装的分区,且路径中不包含空格。

后面的过程就比较简单了,和建立VS通常的工程差不多。简单说说,看下面的插图。主要有以下几个选项:
1、Project Type:这里有2个选项:classic    S90
2、Project Template:这时工程的类型,根据需要选择
3、Select SDKs:列出你PC上安装的SDK,后面的WINS,THUMB,ARMI是工程建立后可选的编译方式。这里你可以全部选上。
设置完毕以后,点击“Finish”就会立即生成工程文件。然后你可以选择你需要的编译方式。若使用WINS编译,会执行模拟器,选择THUMB或者ARMI可以为你生成SIS文件

四、生成可安装的sis文件

     前面3部分都是讲解如何导入或者建立Symbian工程及编译和在模拟器上运行。当一个软件编写、调试完毕以后,就需要发布成安装文件传送到手机上,而不仅仅是在模拟器上运行。这里紧接着一、将已有的S60工程导入到VS2003中,建立VS2003工程,讲解如何生成sis文件。
    大部分玩过S60手机的朋友都知道,这就是一个打包的过程。在这个简单的例子中,不需要你再去编写pkg文件,工程已经帮你在helloworldbasic文件夹中的sis目录中为你生成了相应的pkg文件。但是此时直接进入该目录并使用makesis打包命令会被提示缺少文件,其原因是选择编译的方式不正确。此时必须把解决方案配置修改为“Releases Thumb”,然后重新编译。注意在这种模式编译以后不要试图去执行模拟器,这时用于发布软件的编译模式,执行模拟器会报错。

在“Releases Thumb”模式下编译以后,再用命令行进入sis目录,输入makesis helloworldbasic.pkg,即可在同一目录下生成sis文件helloworldbasic.sis,将其传送到手机上,即可安装。