项目定义文件( . mmp )使用了与 平台和编译器无关的方式描述了项目组件的组成和属性。每条语句占独立的一行;使用C++ 风格的注释语法;若行的结尾以反斜杠‘/’ 结束,表示下一行是该行的延续。文件结构如下
TARGET MyApp.exe
TARGETTYPE exe
UID 0x0 UID3
EPOCSTACKSIZE 0x5000
EPOCHEAPSIZE 4K 1MB
VENDORID
CAPABILITY
LANG SC
SOURCEPATH
../src
SOURCE MyApplication.cpp
SOURCE
MyDocument.cpp
SOURCE
MyAppUi.cpp
SOURCE
MyView.cpp
SOURCE MyContainer.cpp
SYSTEMINCLUDE
/epoc32/include
USERINCLUDE
../inc
SOURCEPATH
../data
START
RESOURCE
MyApp.rss
TARGET
MyApp
TARGETPATH /resource/apps
HEADER
END
START
RESOURCE
Myapp_reg.rss
TARGETPATH
/private/10003A3F/apps
END
START
BITMAP
MyApp.mbm
TARGETPATH
/resource/apps
HEADER
SOURCEPATH
../bitmaps
SOURCE
C16 picture.bmp
SOURCE
C16 picture_mask.bmp
END
LIBRARY
----------------------------------------------------------------------------------------------
TARGET
指定编译后生成的应用程序名称,扩展名(.exe、.dll) 表示了生成的程序类型。
TARGETTYPE
指定了应用程序类型(exe、dll、文档类型) ,确定了UID1 。
UID
确定UID2 和UID3。 UID2的值依赖于TARGETTYPE指定的UID1的类型。若UID1为exe类型,那么UID2的值为0x100039ce。若UID1为dll类 型,那么UID2的值为0x1000008d。UID3是一个应用程序级的标识符,应用程序的UID3值必须不同于其他所有的应用程序,只用 Symbian才可以发布这些值,但在开发期间可以使用Symbian保留的一段测试UID3。
SECUREID
指定了应用程序的安全标识符(SID),SID在本地是唯一的,用于检验应用程序访问系统资源的权利。SID在项目文件MMP中可以省略,默认为UID3的值。
VENDORID
在Symbian OS V9.1新加入。标明了应用程序卖主的身份,VID可以省略或设为0。
EPOCSTACKSIZE
指定了应用程序初始栈的大小,默认情况下为2KB。
EPOCHEAPSIZE
指定了应用程序初始堆的最小值和最大值,默认情况下最小为4KB ,最大为1MB 。
LANG
指定了项目的语言代号,默认值为SC。语言代号为2位10进制数,用于产生资源文件的扩展名。针对特定语言编译的资源文件一般具有.r01、.r02、.r03等扩展名,并在安装时可以选择语言。
SOURCEPATH,SOURCE
SOURCEPATH 指定了项目源文件或资源文件所在的位置路径。SOURCE 指定了源文件或资源文件的文件名。SOURCE 指定的源文件或资源文件的位置路径由在它之前声明的最近的SOURCEPATH 所指定。
SYSTEMINCLUDE,USERINCLUDE
分别指定了系统和用户所使用的.h(include <>、include "") 文件所在的位置路径。
START RESOURCE---END
用于指定包含文本和用户界面元素的资源文件。取代了早期RESOURCE 关键字指定资源文件。START RESOURCE 指定了需要编译的资源文件(.rss) ,这个文件的路径由与它最近声明的SOURCEPATH 指定。TARGET 指定了编译后的资源文件名(不需要指定后缀名),默认情况下与资源文件同名。TARGETPATH 指定了资源文件编译后生成的文件(.rsc) 所在位置路径,指定的路径必须在/resource 或/private/12345678 下。HEADER 将在epoc32/include 产生一个资源头文件(.rsg) ,这个资源头文件将包含资源文件的结构索引。
START BITMAP---END
指定了如何将Windows 位图(.bmp) 编译成Symbian OS 使用的多位图(.mbm) 。START BITMAP 指定了编译生成的多位图文件名;SOURCEPATH 指定了预编译Windows 位图所在的位置路径,缺省为应用程序所在的路径;SOURCE 指定了预编译的Windows 位图的文件名;HEADER 将在epoc32/include 产生一个多位图头文件(.mbg) ,这个多位图头文件将包含位图文件的名称索引。
LIBRARY
指定了所引入的库文件。
CAPABILITY