Symbian OS开发入门(一) :基于VS.Net 2003的Symbian开发环境的准备

简介:
原文地址:  http://www.360doc.com/content/070510/08/13049_491498.html
 
【起点-SDK和IDE的选择】

     本文主要为学习Symbian开发的初学者讲授如何准备开发环境。对Symbian开发有兴趣、具备一定软件设计基础的朋友都可以来一起研究。需要说明的是,对于学习Symbian开发,需要有较为牢固的编程经验(这里我们暂时要求具有较好的C++程序语言设计能力),需要较好的英语基础,需要坚持不懈的精神;另外,如果你重来没有接触过VS2003,不懂DOS命令、不懂如何设置环境变量,请先学习相关知识。另外,本文的作用仅仅是总结和引导,强烈建议初学者结合本文和SDK文档动手实践

      本文主要针对S60的开发环境的建立,因此首先为大家列出S60系统的各种版本。因为开发者应该根据需要,选择自己适合的SDK版本。
1、Series60 第一版              -  Symbian OS 6.1
2、Series60 第二版              -  Symbian OS 7.0s
3、Series60 第二版   Pack 1  -  Symbian OS 7.0s
4、Series60 第二版   Pack 2  -  Symbian OS 8.0a
5、Series60 第二版   Pack 3  -  Symbian OS 8.1a
6、Series60 第三版              -  Symbian OS 9.0

      需要要说明的是,Nokia的Symbian/Series60开发包支持的集成开发环境[IDE]工具有很多种,下面列出主要使用的一些IDE:
1、Microsoft Visual Studio 6 / Visaul C++ 6
2、Microsoft Visual Studio .NET [2003] / Visaul C++ 7
3、Borland C++ Builder 6 
4、Borland C++ Builder X 1.0
5、Metrowerks CodeWarrior Studio for Symbian Personal/Professional 2.0/2.5

     选择哪种开发工具依据是你个人的习惯和喜好,需要注意的是,对于不同的开发环境,我们需要选择不同SDK。本文所使用的SDK支持Series60 第二版   Pack 2  -  Symbian OS 8.0a,IDE为VS2003:
    =============================================
    SDK:SERIES 60 2ND EDITION SDK FOR SYMBIAN OS  SUPPORTING FEATURE PACK 2  
           SUPPORTING MICROSOFT VISUAL C++  CHINESE SIMPLIFIED EDITION
    IDE:Microsoft Visual Studio .NET 2003  
    =============================================
    
      若你使用的IDE是VC6,那么步骤与本文将有所不同,你可以参考网上其他教程,网上讲授Symbian环境设置的90%以上的文章都是基于VC6的。若你使用VS2003,但是所使用的SDK与本文使用的有所出入,那么本文仍然适用,不过个别地方也许会有改动。有什么问题可以提出来,大家一起讨论。
      本文并未讲述安装Nokia Developer Suite - Carbide.vs 来配合VS2003导入、建立S60工程。这部分内容将在下一篇文章讲解如何建立、导入工程的时候详细讲解。因此你可以暂时不安装该软件。等你按照下面的说明将环境设置好以后,再安装此软件做更深一步研究。涉及此项内容的细节,请参阅:Symbian OS开发入门(二) :VS2003环境下Symbian工程的导入与建立。
      我个人原来是使用VC6作为IDE,对VS2003下的开发也不是特别熟悉,我是一个Symbian开发的初学者,这里写的东西是大多数基于SDK的开发文档,结合自己测试的时候的一些经验教训。写出来,一方面象引导象我一样的初学者尽快入门,另外一方面大家也可以在此基础上讨论,解决一些经验错误。帮助后来者少走弯路。
 
【开发环境建立详细步骤】

一、系统要求
    文档中写了一些对你PC的要求,反正就是保证你的电脑能运行VS2003和SDK。一般没有什么问题。系统要求Win2000 SP3以上, WinXP SP1以上,Win2003中任意一种。

二、软件安装
      说明:在安装SDK以前保证下列1-3项先被正确安装。安装软件的时候必须保证你所使用的帐号是你PC的管理员帐号,否则可能导致某些环境变量不能被正确设置。SDK和IDE要安装在电脑上的同一个分区。SDK的安装路径不能含有空格。下面详细说明需要安装的软件及其步骤:

      1、在安装SDk之前必须安装ActivePerl(官方文档要求安装Perl 5.6.1 build 531,并说明安装其他版本可能会有问题,我自己测试使用ActivePerl-5.6.1.638-MSWin32-x86,运行情况良好)。该软件可以到官方网站下载: http://www.activestate.com/Products/ActivePerl/

      2、安装JAVA Run-Time1.4.1_02 或者新版本,下载地址 http://java.sun.com/downloads/index.html. 
说明:在使用命令行编译程序的时候事实上是不需要用到JAVA Run-Time1的。但是以后我会提到,若要使用SDK的一个强大的工具ApplicationWizard,就必须安装该组件,同时若要使用Sisar等工具的话,JRE也必不可少。这里请你就先安装吧。

      3、安装IDE,如前所述,安装Microsoft Visual Studio .NET 2003

      4、安装SDK,注意前面所说的SDK的安装路径不能含有空格。并且要和IDE装在同一个分区,这样可以避免一些麻烦。下载地址: http://www.forum.nokia.com/main/0,6566,034-4,00.html 

      5、安装Nokia Developer Suite - Carbide.vs 。这相当于VS2003的一个插件,用于帮助你导入或者建立S60工程,从而似的你可以在VS2003中编写代码。(本文暂时不讲解怎么使用,你可以先安装,也可以以后用的时候再安装)
下载地址: http://www.forum.nokia.com/main/0,,034-902,00.html 

三、环境变量检查
    在2.0版本的SDK之前[不包括1.2For CW],你需要在系统变环境量中设置一个名为EPOCROOT的环境变量,(什么是环境变量,如何设置,这个去自学),他要指向你的SDK包含有epoc32的路径,前面没有盘符,后面要加一个"\",这个一般在你安装了SDK之后系统会自动替你加好。不过2.0之后的[包括1.2 For CW]就不必设置了,有一个名为devices的SDK管理工具会为一些需要使用这个变量的工具提供类似模拟EPOCROOT环境变量的功能。可以把devices看作是多个Symbian SDK,不限于S60,得切换工具,他的使用方法可以在你安装了2.0SDK之后,在命令行模式下输入 devices -help 来获得帮助。
   我们使用的这个版本的SDK不需要设置太多环境变量,这里只需要自己加入修改一下环境变量,在系统环境变量path中加入:
{VS2003的安装路径}\Microsoft Visual Studio .NET 2003\Vc7\bin;这样才能保证后面用到的LINK.EXE被正确设置。

四、编译运行“Helloworld” - 检查开发环境是否被正确设置
       上面的安装步骤完成以后,还没有大功告成,这时你需要做的是检查你的环境是否被正确设置。怎样来确认开发环境已经正确建立了呢?最好的方式就是通过编译、运行一个例子来检验。需要指出的一点是,下面的步骤可以在可以在Windows的命令行工具中操作,也可以在VS 2003自带的工具“Visual Studio .NET 2003 命令提示”中操作。在VS 2003的命令行工具中操作,其优点是可以避免某些环境变量设置有误而导致的错误,因为它不但包含系统环境下PATH变量的内容,同时也包含安装VC++.NET过程中,添加的一些路径,包括主要的编译链接等工具。而缺点就是:若你仅仅在这里通过验证,而在WINDOWS自带的命令行界面没有通过的话,那么后期会遇到一些麻烦(例如使用ApplicationWizard建立工程)。所以,如果不使用VC++.NET带的“命令提示”工具,您也许就会因为找不到相应编译工具,而无法继续下去。如果自己勤快一些,可以手动把环境变量加到系统PATH中去,这样就可以用Windows“附件”菜单中的那个“命令提示”工具了,后面也许会顺利一点。

1、打开Windows的命令行界面(或者VC++.NET自带的命令行工具)

2、将刚刚安装的SDK设置为默认的devices.这个可以通过下面的命令设置:
devices -setdefault @S60_2nd_FP2_SC:com.nokia.Series60
事实上SDK的安装过程中就会提示你设置默认的devices。做这个工作的原因是你的系统中很可能安装了多个SDK,那么使用哪个SDK作为当前的开发工具,就需要正确设置。你可以使用命令行devices -default来查看当前的默认SDK是什么。

3、找到Symbian工程文件所在的目录
现在我们就通过SDK中自带的例子来验证你的环境是不是被正确设置。注意安装了SDK以后,在其安装目录中的Series60Ex文件夹中有很多例子,我们使用helloworldbasic来验证。在命令行界面中用cd命令进入helloworldbasic的group目录:
cd <sdk_installation _directory>\Series60Ex\helloworldbasic\group
在group目录下应该包含bld.inf和helloworldbasic.mmp这两个文件。这两个文件的简要描述如下:
HelloWorld.mmp:项目定义文件,描述了将要构建的项目信息,还定义了一些资源文件和应用程序信息文件。它是一个环境中立的文件,可以使用各种工具来处理并生成各种目标环境的make文件。您可以使用文本编辑器查看该文件。里面的信息还是很简明的,包括构建目标,构建类型,源路径,库文件,头文件等等信息。
Bld.inf:组件描述文件,它列出了一个组件当中包括的所有项目,还包括一些额外的构建指令。您也可以使用文本编辑器查看该文件。对于本实例来说,仅包括一个项目HelloWorld.mmp。

4、在命令行中输入bldmake bldfiles
这个命令会处理当前目录下的bld.inf文件,具体来说会执行以下处理过程
(1)、生成目录C:\Symbian\8.0a\S60_2nd_FP2_SC\epoc32\BUILD\SYMBIAN\8.0A\S60_2ND_FP2_SC\SERIES60EX\HELLOWORLDBASIC
(2)、在这个目录下,生成一系列的Make文件,针对各种目标环境。比如VC7.MAKE,CW_IDE.MAKE等等。
(3)、在当前目录下生成abld.bat文件,这个文件会在随后用到。您可以查看该文件的内容。但是建议不要手工的更改它的内容。
Bldmake命令也支持其他的命令行选项,您可以直接输入bldmake来查看简要的介绍,还可以查看SDK文档了解详细信息。

5、在命令行中输入abld build wins
由bldmake处理bld.inf文件得到的abld.bat文件,使得abld命令可用。Abld.bat控制着构建一个项目的方方面面。Abld命令的语法非常地灵活,它拥有许多命令行选项,它们的组合涵盖了各种构建需求。
注意:这里如果你被提示缺少了一个文件mspdb71.dll,那么可以通过如下方法解决:在Microsoft Visual Studio .NET 2003的安装目录下。你可以在\Common7\IDE这个目录下找到这个文件。把他拷贝到\Vc7\bin下就可以了。再次提醒前面的环境变量要设置好,否则这里你还会因为缺少link.exe而中止运行。

6、在命令行中输入:epoc
这时模拟器就会出现。如果你的环境都设置正确的话,那么模拟器中就会有你刚刚编译的helloworld,它在模拟器上的名字是“HW”


五、检查SDK和IDE是否兼容工作
      1、重复上面的1-4
      2、在命令行中输入:makmake helloworldbasic vc7,这时会在group文件夹下生成一些文件,其中包含VS2003的工程文件HELLOWORLDBASIC.sln
      3、打开VS2003,选择“打开解决方案(Open Solution)”,打开HELLOWORLDBASIC.sln,然后进行编译、运行,就会得到第四部分第6步中的效果。(运行的时候可能需要选择程序epoc.exe)


本文转自peterzb博客园博客,原文链接:http://www.cnblogs.com/peterzb/archive/2009/06/11/1501609.html,如需转载请自行联系原作者。

目录
相关文章
|
11月前
|
人工智能 搜索推荐 API
🚀 2小时极速开发!基于DeepSeek+智体OS的AI社交「头榜」震撼上线!
基于DeepSeek大模型与DTNS协议的革命性AI社交平台「头榜」震撼上线!仅需2小时极速开发,即可构建完整社交功能模块。平台具备智能社交网络、AI Agent生态、Prompt市场、AIGC创作等六大核心优势,支持低代码部署与个性化定制。开发者可快速接入DeepSeek API,体验去中心化架构与数据自主权。官网:[dtns.top](https://dtns.top),立即开启你的AI社交帝国!#AI社交 #DeepSeek #DTNS协议
388 4
|
存储 人工智能 JavaScript
Harmony OS开发-ArkTS三
本文介绍了ArkTS的基础语法,包括常量、命名规则、数组及其常用函数,以及函数的定义与使用,涵盖匿名函数和箭头函数的区别。通过具体示例,帮助读者快速掌握ArkTS编程技巧,踏上Harmony OS开发之旅。君志所向,一往无前!
781 1
Harmony OS开发-ArkTS三
|
存储 人工智能 编译器
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
980 11
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
前端开发 JavaScript 开发工具
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
972 5
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
安全 前端开发 开发工具
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
687 5
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
|
JavaScript 编译器 开发工具
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
756 2
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
人工智能 芯片
D1net阅闻|OpenAI员工疯狂暗示,内部已成功开发ASI?被曝训出GPT-5但雪藏
D1net阅闻|OpenAI员工疯狂暗示,内部已成功开发ASI?被曝训出GPT-5但雪藏
|
SQL 小程序 API
如何运用C#.NET技术快速开发一套掌上医院系统?
本方案基于C#.NET技术快速构建掌上医院系统,结合模块化开发理念与医院信息化需求。核心功能涵盖用户端的预约挂号、在线问诊、报告查询等,以及管理端的排班管理和数据统计。采用.NET Core Web API与uni-app实现前后端分离,支持跨平台小程序开发。数据库选用SQL Server 2012,并通过读写分离与索引优化提升性能。部署方案包括Windows Server与负载均衡设计,确保高可用性。同时针对API差异、数据库老化及高并发等问题制定应对措施,保障系统稳定运行。推荐使用Postman、Redgate等工具辅助开发,提升效率与质量。
519 0
|
Android开发 UED iOS开发
Harmony os next~UI开发与ArkUI框架
鸿蒙OS的UI开发基于ArkUI框架,采用声明式编程,简化开发流程。五大核心组件(Text、Button、List、Grid、Flex)助力高效布局,支持数据绑定与动态更新。事件响应机制灵敏,适合构建交互丰富的应用。实战技巧包括规范命名、样式复用和调试方法。掌握这些,轻松开发鸿蒙应用。下期预告:分布式开发,记得带上烤冷面!
498 0
|
XML 存储 大数据
Harmony os next~HarmonyOS Ability与页面跳转开发详解
HarmonyOS采用分布式架构,其Ability体系包括Page、Service、Data和Form四大类型Ability。Page Ability支持多页面跳转与数据传递,Service Ability用于后台任务,Data Ability提供数据共享接口,Form Ability实现轻量化卡片服务。本文详细解析了各Ability的开发方法、生命周期管理、跨Ability通信及最佳实践,帮助开发者掌握HarmonyOS应用开发的核心技能。
980 0

推荐镜像

更多