Creating the MMP File

Add needed libraries used by the MMP file structure:

If developers want to use any of the P.I.P.S. libraries, they need to link to the corresponding library in the MMP file using the LIBRARY keyword.

If the application has main() as the entry point, the library libcrt0.lib must be specified as the first library otherwise, it will result in linker errors. The user must link to the Symbian platform euser.dll . This is required since the static library uses some of the services of the Symbian platform such as creating cleanup stack, and having a top level TRAP. All these details are hidden from the developer. The developer will write the application as if it were for the UNIX environment.

      STATICLIBRARY  libcrt0.lib
LIBRARY        libc.lib 
LIBRARY        euser.lib  // Needed in order to use Symbian services
// and whatever Open C libraries are needed…
     

The libcrt0.lib library is required if the user is not going to write E32Main within the application (EXE). This static library has an implementation of E32Main within which it calls the library initialization method followed by calling main written by the developer. This static library also gets command-line arguments and passes the same to main.

If the application has E32Main() as an entry point, there is no need to link to libcrt0.lib like in the example below.

      LIBRARY         libc.lib 
LIBRARY         libm.lib libpthread.lib 
LIBRARY         euser.lib
     

Add needed include paths

      SYSTEMINCLUDE   \epoc32\include\stdapis
     
Note: Some of the SSL/cryptography functions need more than the default available stack. The recommended stack size is 10K. To set the stack size to 10K add in the MMP file.
      EPOCSTACKSIZE 0x10000