MMP文件 简单认识与应用

其实我也觉得这个题目很怪,可是这个MMP的确是我没有注意的地方,今天我重新学习了下这个文件。

 

. mmp 文件为 S60 工程定义文件。一个 S60 工程通常包含很多文件, . mmp 文件定义了工程内的文件及其组织。这是一个非常重要的文件

由于以前的疏忽,让我在现在的应用中饱受煎熬。

 

l         例子 .mmp 文件

l         .mmp 文件中字段说明

 


 

例子.mmp 文件

 

下面是S60Helo World Basic 例子工程.mmp 文件, 本文件显示了.mmp 文件的基本内容:

 

/* Copyright (c) 2005-2006, Nokia. */

 

TARGET            HelloWorldBasic.exe

TARGETTYPE        exe

UID               0x102032BE

 

SECUREID          0xA000017F

EPOCSTACKSIZE     0x5000

//以上应该都是比较简单的标识,我们在应用中除了程序需求大要改 EPOCSTACKSIZE(堆)大小,这个

//几乎很难用到,倒是栈的大小可以改,但是要注意手机的能力

SOURCEPATH        ../src

 

SOURCE            HelloWorldBasic.cpp

SOURCE            HelloWorldBasicApplication.cpp

SOURCE            HelloWorldBasicAppView.cpp

SOURCE            HelloWorldBasicAppUi.cpp

SOURCE            HelloWorldBasicDocument.cpp

 

SOURCEPATH        ../data

 

START RESOURCE    HelloWorldBasic.rss

 

HEADER

TARGETPATH        resource/apps   这个我没有看懂是什么

 

END //RESOURCE

 

START RESOURCE    HelloWorldBasic_reg.rss

 

#ifdef WINSCW

TARGETPATH        /private/10003a3f/apps

#else

TARGETPATH        /private/10003a3f/import/apps

#endif

 

END //RESOURCE

 

USERINCLUDE       ../inc

SYSTEMINCLUDE     /epoc32/include

//上面这2个路径很重要,在导入静态库,系统其他库的时候要修改,添加

LIBRARY           euser.lib

LIBRARY           apparc.lib

LIBRARY           cone.lib

LIBRARY           eikcore.lib

LIBRARY           avkon.lib

LIBRARY           commonengine.lib

LIBRARY           efsrv.lib

LIBRARY           estor.lib


LANG SC

VENDORID          0

CAPABILITY        NONE

 

// End of File

 


 

.mmp 文件 中字段说明

 

一个 .mmp 文件中包含了很多字段。现在我们列出非常重要的一些字段如下:

 

l        TARGET

    输出文件名,既创建应用程序可执行文件的文件名

l        TARGETTYPE

    应用程序类型。在S60 3rd 中应用程序类型永远为.exe

l        UID

    应用程序的UIDUID 指定了安装包文件(.pkg) 所需要的东西。更多关于UID 的说明请参见S60 3rd SDK平台UID

l        SECUREID

本地(应用程序所安装手机)唯一安全标识(SID )。每一个可执行的应用程序都包含一个安全标识(SID )。SID 用途如下:

n        标识哪些私有目录可被访问

n        定义了调用都应用程序

SID 可在工程定义文件(.mmp 文件) 中的SECUREID 字段里定义。假设没有给出SEUREID ,则.mmp 文件里的UID3 被使用。如果UID3 也没有定义则KNullUID 则被使用。

l        EPOCSTACKSIZE

    最大堆栈大小(这么讲我觉得有点问题)

l        SOURCEPATH

    源文件(.cpp 文件)所在目录

l        SOURCE

    应用程序中所使用源文件, 如上例中的SOURCE HelloWorldBasic.cpp

l        RESOURCE

    应用程序中所使用之资源文件

l        USERINCLUDE

    用户包含头文件所在目录

l        SYSTEMINCLUDE

    系统头文件所在目录

l        LIBRARY

    应用程序需要哪些库文件(.lib 文件) ,如上例中的LIBRARY euser.lib

l        LANG

    列出应用程序所支持的语言,如上例中的LANG SC

l        VENDORID

供应方标识(Vendro Identifer--VID)VID 唯一的标识了一个应用程序。

n        未签名的应用程序有一个未定义的VID0

n        所已签名的来自同一供应言方的应用程序使用相同VID

n        编译应用程序后VID 不可更改

l        CAPABILITY

本字段定义了应用程序的适应性,假如.mmp 文件里没有给出CAPABILITY 声明,则使用默认值CAPABILITY NONE

本字段只针对已签名应用程序;在S60 中未签名的应用程序是不能被安装到设备上的。

感谢前人

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值