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
EPOCSTACKSIZE 0x10000