The mmp
project definition file contains a number of statements
that are used to generate build files for emulators and target devices. The mmp
file
is stored in the project's group folder. The example
below is the mmp
file for the HelloWorldBasic application.
For more information on mmp
files, see the following
items in the Symbian OS Library:
The helloworldbasic.mmp
file is as follows:
TARGET HelloWorldBasic.exe TARGETTYPE exe UID 0x100039CE 0xA000017F SECUREID 0xA000017F EPOCSTACKSIZE 0x5000 SOURCEPATH ..\src SOURCE HelloWorldBasic.cpp SOURCE HelloWorldBasicApplication.cpp SOURCE HelloWorldBasicAppView.cpp SOURCE HelloWorldBasicAppUi.cpp SOURCE HelloWorldBasicDocument.cpp SOURCE HelloWorldBasicQueryDialog.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 LIBRARY euser.lib LIBRARY apparc.lib LIBRARY cone.lib LIBRARY eikcore.lib LIBRARY avkon.lib LIBRARY commonengine.lib LIBRARY efsrv.lib LIBRARY estor.lib LIBRARY eikcoctl.lib LIBRARY eikdlg.lib LANG SC 01 09 31 32 VENDORID 0 CAPABILITY NONE
The meaning of the lines is as follows:
TARGET HelloWorldBasic.exe
The name of the application executable being created.
TARGETTYPE exe
Since HelloWorldBasic is a GUI-based application, the target type
is exe
.
UID 0x100039CE 0xA000017F
The value for UID2 is 0x100039CE
since this is a GUI-based
application. The value for UID3 is0xA000017F
, which is
from the unprotected self-signed range since this application requires no
capabilities. For more information on UIDs, see Application UIDs.
SECUREID 0xA000017F
Secure ID for the application. Usually, the application uses the same value as is used for UID3.
EPOCSTACKSIZE 0x5000
Sets the maximum stack size for the example. Note that this value is only used when the application is run in a mobile device. For more information, see epocstacksize.
SOURCEPATH ..\src
Path for the source files (.cpp
) in the project structure,
relative to the folder that contains the mmp
file.
SOURCE HelloWorldBasic.cpp SOURCE HelloWorldBasicApplication.cpp SOURCE HelloWorldBasicAppView.cpp SOURCE HelloWorldBasicAppUi.cpp SOURCE HelloWorldBasicDocument.cpp SOURCE HelloWorldBasicQueryDialog.cpp
Source files used in an application. Each application implementation source
file must be listed with a SOURCE
statement in order
to be compiled.
SOURCEPATH ..\data
Path for the resource files in the project structure, relative to the folder
that contains the mmp
file. The specified paths are used
by the precompiler when the #include "header_file.h"
statement
is used.
START RESOURCE HelloWorldBasic.rss HEADER TARGETPATH resource\apps END //RESOURCE
Resource file declaration block for the application resources. This causes
the HelloWorldBasic example compiled resource file to be placed in epoc32\release\winscw\udeb\z\resource\apps
when
you build for the emulator, and to epoc32\data\z\resource\apps
when
you build for a release.
START RESOURCE HelloWorldBasic_reg.rss #ifdef WINSCW TARGETPATH \private\10003a3f\apps #else TARGETPATH \private\10003a3f\import\apps #endif END //RESOURCE
Resource file declaration block for the HelloWorldBasic registration
resource file. The ifdef
statements are used to specify a
different target folder for emulator and device builds. Note that all registration
files are placed in the same base folder\private\10003a3F
.
When you build for the emulator, the compiled registration resource files
are placed in the epoc32\release\winscw\udeb\z\private\10003a3f\apps
folder.
When you build for the release, the compiled default registration resource
file is placed in epoc32\data\z\private\10003a3f\import\apps
.
USERINCLUDE ..\inc
Path for application header files in the project folder structure, relative
to the folder that contains the mmp
file.
SYSTEMINCLUDE \epoc32\include
The specified paths are used by the precompiler when the #includes
<header_file.h>
statement is used. In this case, the header files
provided by the SDK are in the \epoc32\include
. This path
is relative to the current SDK root directory.
LIBRARY euser.lib LIBRARY apparc.lib LIBRARY cone.lib LIBRARY eikcore.lib LIBRARY avkon.lib LIBRARY commonengine.lib LIBRARY efsrv.lib LIBRARY estor.lib LIBRARY eikcoctl.lib LIBRARY eikdlg.lib
Libraries used in application. For information on using the LIBRARY
statement,
see library.
LANG SC 01 09 31 32
List of languages supported by HelloWorldBasic, which supports UK English (01), Finnish (09), Simplified Chinese (31), and Japanese (32). SC is for the default language. For more information on language support, see UI text strings.
VENDORID 0
HelloWorldBasic does not declare a vendor. For information on using VENDORID
,
see vendorid.
CAPABILITY NONE
HelloWorldBasic, does not require any capabilities. .