本版版主招募中

 
标题: symbian与uiq开发教程之五-开发入门
  本主题由 蓝色的忧郁 于 2008-3-20 11:35 提升 
无双
荣誉斑竹
Rank: 14Rank: 14Rank: 14Rank: 14
天才猪



UID 4
精华 84
积分 5863
帖子 11390
活跃指数 0
LU金币 4248 个
LU金条 0 个
阅读权限 200
注册 2003-9-16
来自 杭州
 
发表于 2004-12-11 02:20  资料  个人空间  主页 短消息  加为好友 
symbian与uiq开发教程之五-开发入门
Sunday, December 5th, 2004
作者:无双
首发于loveunix/net与wsue.org
转载请保留出处与作者

准备开发之前先要知道一个symbian工程需要的基本组成

symbian的开发中包括一组文件
其中下面是基本的
一个bld.inf build info, 包括编译信息 这个声明有什么模块包括在这个工程中 并且有没有其它限制 如平台信息
一个或多个 工程名.mmp,mmp包括生成makefile的信息,可以认为是make makefile project,每个mmp定义生成一个模块的办法,一个模块可以是一个exe或是一个dll
一个或多个.cpp 或.h文件 这与其它平台下开发没有区别

下面是可选的
一个aif文件 定义应用程序信息 如图标 标题等
一个或多个rss文件 rss是资源文件 包括菜单对话框字符串等资源 编译后会生成rsc文件与rsg文件,rsg文件是rss里面的定义信息,放在系统include目录下
一个def文件,如果是dll,需要freeze 那会需要一个def文件 可以使用abld freeze 生成
一个或多个bmp文件 这些bmp编译后会生成一个mbm文件 与mbg文件 mbg里面是宏定义 是一个头文件
另外 如果想生成sis包 那还需要一个pkg文件 使用mkpackage创建sis包

更具体的文件类型看
UIQ 2.1 SDK » Developer Library » Tools and Utilities » Build tools reference » Tools and file types used in build process

最后说明一下开发流程
1 写需要的代码 在.cpp 与.h中
2 写.mmp文件 把工程需要的源文件都放到mmp中,每个模块一个mmp文件 如果有多个模块就写多个mmp
3 写bld.inf文件 把工程需要的所有模块的mmp都引入
4 运行命令bldmake bldfiles 根据bld.inf中的 mmp文件生成对应的编译信息 包括makefile
5 运行命令abld build wins udeb 编译模拟器版本
或是运行abld build armi urel编译真机版本 wins 表示是模拟器平台 armi表示是armi平台 udeb表示unicode debug ,urel表示unicode release
6 如果想在模拟器上跑 那运行命令epoc ,这时会弹出一个模拟器 可以在上面运行你的gui程序
如果你是server程序 也就是exe类型的 那直接运行这个exe就可以
7 运行makesis 包名.pkg 创建发行版本 ,发行版可以自动执行安装过程

就是这些操作
下面会以一个例子说明一下过程





不要问我结果 我只研究过程与思路
无双客栈
顶部
蓝色的忧郁
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
禁止发言


UID 274
精华 9
积分 641
帖子 1118
活跃指数 56
LU金币 2474 个
LU金条 0 个
阅读权限 210
注册 2003-10-1
来自 南京
 
发表于 2008-3-19 13:57  资料  个人空间  短消息  加为好友  添加 蓝色的忧郁 为MSN好友 通过MSN和 蓝色的忧郁 交谈 QQ
把无双的帖子顶起来





关注于c/c++,symbian c++的开发
对UNIX/Linux下的c开发也有兴趣

MSN: lee_vincent83615@hotmail.com
QQ:  3603108
顶部
ww122467532
LU新生
Rank: 1



UID 103871
精华 0
积分 10
帖子 19
活跃指数 2
LU金币 21 个
LU金条 0 个
阅读权限 10
注册 2008-3-17
 
发表于 2008-3-19 17:21  资料  个人空间  短消息  加为好友 
我用的3rd FP1,examples文件夹里的例子是console程序,不能在模拟器里显示的,用几个命令后的情况如下:
C:\Symbian\9.2\S60_3rd_FP1\Examples\Basics\HelloWorld>bldmake bldf

C:\Symbian\9.2\S60_3rd_FP1\Examples\Basics\HelloWorld>abld build w
This project does not support platform, build or  program "WINS"

C:\Symbian\9.2\S60_3rd_FP1\Examples\Basics\HelloWorld>abld build a
This project does not support platform, build or  program "ARMI"

从网上搜了下,说3rd不支持wins什么的,具体看不太懂,wins跟armi也不了解,具体有什么办法可以让example里的例子显示吗

顶部
 



当前时区 GMT+8, 现在时间是 2008-9-8 19:32
乐悠LoveUnix论坛-京ICP备05005823号

Thanks to Discuz!  © 2001-2007    Power by LoveUnix.net
Processed in 0.085559 second(s), 7 queries , Gzip enabled

清除 Cookies - 联系我们 - 乐悠LoveUnix - Archiver