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 MMP file syntax topic in Symbian Developer Tools Guide.
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 on a mobile device. For more information, see epocstacksize in Symbian Developer Tools Guide.
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's 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 the application. For information on using the LIBRARY
statement, see library in Symbian Developer Tools Guide.
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 the UI text strings section in the Internationalization and localization topic.
VENDORID 0
HelloWorldBasic does not declare a vendor. For information, see vendorid in Symbian Developer Tools Guide.
CAPABILITY NONE
HelloWorldBasic, does not require any capabilities.