Symbian project description file (MMP)

Source: Internet
Author: User

Each statement in the MPs file starts with a keyword. The following is an example of a typical MMP file.

// Filebrowseapp. MMP
Target filebrowseapp.exe
Targettype exe
UID 0x100039ce 0xe80000a6

Vendorid 0

# Ifdef _ winscw __
Capability allfiles // allfiles on emulator since no signing is required
# Else
Capability NONE // No capabilities on hardware-otherwise SIS file signing is required
# Endif

Sourcepath ../src
Source filebrowseappui. cpp
Source filebrowsedocument. cpp
Source filebrowseapplication. cpp
Source filebrowsebaseview. cpp
Source rfsengine. cpp

Systeminclude/epoc32/include
Userinclude.../INC

Sourcepath ../Data

Start resource filebrowseapp. RSS
Targetpath/resource/apps
Header
End

Start resource filebrowseapp_reg.rss
Targetpath/private/10003a3f/apps
End

Start resource filebrowseapp_loc.rss
Targetpath/resource/apps
Lang SC
Header
End
Start bitmap filebrowseapp. MBM
Targetpath/resource/apps
Header
Sourcepath ../GFX
Source C16 folder.bmp
Source C16 file.bmp
Source 8 mask.bmp
End

Library euser. Lib efsrv. Lib cone. Lib eikcore. Lib eikcoctl. Lib eikdlg. Lib egul. Lib eikctl. Lib apparc. Lib
Library bafl. Lib
Library avkon. Lib commonengine. Lib

The following briefly describes the role of each keyword:

Target
This keyword specifies the name of the target file (exe or DLL file.

Targettype
This keyword specifies the type of the target file generated by the project. In the preceding example, an executable file is generated. In most cases, the target file type is DLL, EXE, or other plug-ins (plugin ).

UID
The target (usually the executable. EXE or. dll file) has three UIDs, which are used to identify components. The first uid does not need to be specified. Because it is automatically allocated by the compilation tool based on the target type. Therefore, what is specified here is actually uid2. This value further specifies the target type. In the above example, the value (0x100039ce) indicates that the target file is an application procedure, the Symbian system uses this value to identify all applications. The next specified uid is unique for each application. It identifies the registered resource file of the application and the installation package file. PKG of the program. Therefore, to ensure the uniqueness of this value, you must apply for this uid from Symbian and assign a UID to your application from the database. You can go to the Symbian website to learn more. Some uid values are used for testing. For example, in the SDK, the UID used by the filesystem browser is 0xe80000a6, you can also use this value when testing your application, but be careful not to use it in your final product.

SecureID
This is an optional key, which is not shown in the above example. This keyword defines a security identifier for the application to indicate which private directory the program can access. If this keyword is not used, use uid3 instead.

Vendorid
This keyword is added in Symbian OS v9.1. Specifies the ID of the software provider. This keyword is not required and can be omitted.

Capability
This is a newly added keyword for Symbian OS 9.1. This keyword indicates the application's permissions (or capabilities, such as Viewing System Directories ). In the above example, the application is assigned different capabilities on the simulator and on the mobile phone ). On the module, this program is granted the allfiles permission. You can see more private file system regions than when running on your mobile phone. The content in the/sym directory cannot be viewed by a program without the allfiles capability. Applications can obtain allfiles only after being authenticated (certificate. The content of authentication and signature will be discussed later in this chapter.

Sourcepath and Source
The source keyword specifies which source files and resource files need to be compiled, and the sourcepath keyword specifies the location of these files. This location can be either a relative path (relative to the MMP file) or an absolute path.

Systeminclude
This keyword specifies the location of the system header file. The system header file is usually included in the # include <> statement.

Userinclude
This keyword is similar to systeminclude, which specifies the location of the custom header file.

Start resource... End
The START resource keyword indicates the start of an information block, which indicates how to compile the resource file. End indicates the end of the information block.

Targetpath
This keyword is used to specify the location of the compiled resource file. Note: Due to security considerations, all executable code (exe or DLL) runs from the/sys/bin/directory on the mobile phone. You do not need to use this keyword to specify a location for executable code. The targetpath keyword is only used to specify the location of the compiled resource file.

Header
This is an optional keyword. When it is used, the system will create a resource header file (. RSG) in the/epoc32/include/path ). This header file contains identifiers that allow reference to a specific resource with C ++ code.

Library
This keyword lists the library files that the application needs to connect.

Staticlibrary
This keyword is used to specify the library file to be statically linked (the code in the library file will be linked to your program, rather than loaded into the memory only when necessary ).

Start bitmap... End
This section contains the bitmap used by the application icons, and how to compile these bitmaps into. MBM (Symbian system proprietary image format.

Epocstacksize
This keyword is optional and is not used in the above example. In earlier versions of Symbian OS, the default stack size is 0x5000 bytes. In v9.1, the default value is 0x2000. This keyword can be used to increase the stack size. For example, epocstacksize 0x5000. Note that stack settings are only valid for real devices, but not for simulators.

Epocheapsize
This keyword is optional and is not used in the above example. This keyword specifies the maximum and minimum heap space that an application can use. By default, 4 k is the minimum size, and 1 m is the maximum size.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.