Symbian平台下制作dll&lib并在应用程序中使用引擎
2010-05-31 19:34:00 来源:WEB开发网写的时候需要把引擎和分离,这样做不仅让程序的结构更为清晰而且非UI部分可以做到机会能完全移植,提高了的重用性。昨天在下尝试着制作引擎并且在中使用,感觉对于平台不熟悉的人来说需要摸索的地方还是很多的,这里就来讲讲我搞了一个晚上才搞定的东西。
首先先要创建一个引擎应用程序,利用Series 60 V2.0 sdk在VC++中的向导无法直接创建所需要的能生成dll的工程(在更高版本的sdk中好象可以生成),这就需要我们手动生成。为了让结构更为清晰,我们可以把引擎程序的代码夹放在游戏应用程序文件夹中,然后在引擎文件夹中加入一个.mmp文件,内容如下:
TARGET MyEngine.dll
TARGETTYPE dll
UID 0x1000008d 0x0D245B46
SOURCEPATH ..engine
SOURCE MyEngine.cpp
USERINCL? ..inc
SYSTEMINCL? epoc32incl?
LIBRARY euser.lib
LIBRARY estor.lib
这里有几点需要注意的,首先TARGET MyEngine.dll指定了将要生成的.dll文件的文件名,将来这个.dll文件将会被放到X:Symbian7.0s Series60_v20Epoc32eleasewins?b中。TARGETTYPE dll指定了该应用程序为生成dll的应用程序。这里的UID要特别注意一下,所有类型为dll的应用程序必须使用0x1000008d作为这里的第一个 UID,第二个就是自己的UID,我是从别的程序里随便copy了一个过来用的,正式发布程序的时候需要向Symbian申请一个UID。下面的东西就和一般的.mmp文件没什么两样了,自己定制一下就可以。
做好引擎程序的.mmp文件以后需要在游戏应用程序的group文件夹里修改它的bld.inf文件,就象这样:
PRJ_MMPFILES
SYMBIANJimmyproject1groupproject1.mmp
..engineMyEngine.mmp
第一行是本来就有的游戏程序的.mmp文件指定,现在需要添加的是引擎程序的.mmp文件指定。好了现在你就可以在命令行里通过bldmake bldfiles和abld makefile vc6命令来生成工程了,这样一来就可以生成引擎工程,那个.dll文件也会在指定目录生成。另外,如果你够仔细,你会发现在同一文件夹下会有一个相同名字的.lib文件也随之生成,这个文件非常关键,后面要加以利用的。
好了,现在已经做了不少工作了。下面我们需要在引擎工程里添加代码了,这里也有一些地方需要特别注意的。首先,在引擎的主程序代码中必须包含以下:
- ››制作Win 7封装的自动应答文件经验
- ››Symbian S60 SocketConnection参数
- ››制作一个优秀的网站 它应该注意哪几点
- ››Symbian乏力:2010年诺基亚悲情大事记
- ››Symbian三大升级开启2011年新战略
- ››Symbian/Android/iOS/WM安装包对比
- ››制作一款百度空间的模版,装扮空间时搜“关闭”可...
- ››制作iPhone的SOAP应用的详细教程
- ››Symbian一个活动对象的测试例子
- ››Symbian ListBox控件
- ››Symbian下自动切换SDK的批处理代码
- ››Symbian 3 版的 Swype 输入法正式上架
赞助商链接