WEB开发网
开发学院手机开发Symbian 开发 Symbian平台下制作dll&lib并在应用程序中使用引擎... 阅读

Symbian平台下制作dll&lib并在应用程序中使用引擎

 2010-05-31 19:34:00 来源:WEB开发网   
核心提示:写的时候需要把引擎和分离,这样做不仅让程序的结构更为清晰而且非UI部分可以做到机会能完全移植,Symbian平台下制作dll&lib并在应用程序中使用引擎,提高了的重用性,昨天在下尝试着制作引擎并且在中使用,下面我们需要在引擎工程里添加代码了,这里也有一些地方需要特别注意的,感觉对于平台不熟悉的人来说需要摸索的地方还是

写的时候需要把引擎和分离,这样做不仅让程序的结构更为清晰而且非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文件也随之生成,这个文件非常关键,后面要加以利用的。

好了,现在已经做了不少工作了。下面我们需要在引擎工程里添加代码了,这里也有一些地方需要特别注意的。首先,在引擎的主程序代码中必须包含以下:

1 2  下一页

Tags:Symbian 平台 制作

编辑录入:coldstar [复制链接] [打 印]
赞助商链接