This topic describes the required header files and libraries to compile and link against to build a Standard C++ application or library on a Symbian platform build environment.
You can build a C++ application or library using one of the following target types:
Notes:
The required
standard C++ header files are available in the ${EPOCROOT}/epoc32/include/stdapis/stlportv5
directory.
The standard
C++ library name is libstdcppv5.lib
.
You must specify
the system-include path and library name in the .mmp
file associated with the C++ application or library.
You can develop a C++ application or library using the following STD target types:
These target types enable symbol lookup by name thereby adding the symbol information into the executable.
Note: For
more information about STD target types (STDEXE
/STDDLL
/STDLIB
), see the Target Types section.
Example
The following code snippet
illustrates the use of the STD target type stdexe
:
//writing an stdexe, the mmp file may look like follows //Start of test_stdexe.mmp Target test_stdexe.exe Targettype stdexe Source test1.cpp Systeminclude /epoc32/include/stdapis/stlportv5 Library libstdcppv5.lib Capability all -tcb //End of test_stdexe.mmp
You can avoid symbol information overhead while developing C++ applications or libraries, by performing the following configurations:
Use the other
Symbian target types such as, dll
, lib
, exe
and so on. For more information about other
Symbian target types, see the targettype topic in Symbian Developer Tools Guide.
In addition,
use the MMP keyword STDCPP
.
You may also have to include ${EPOCROOT}/epoc32/include/stdapis
explicitly as the standard C headers are required by the standard
C++ header. If you are referring to Standard C APIs directly or indirectly,
you must specify libc.lib
and libpthread.lib
in the .mmp
file.
Example
The following code snippet illustrates the use of STDCPP
MMP keyword and the use of the exe
target type:
//test_exe.mmp Target test_exe.exe Targettype exe //The STDCPP keyword specifies Standard C++ STDCPP Source test2.cpp Systeminclude /epoc32/include/stdapis/stlportv5 Systeminclude /epoc32/include/stdapis Library libstdcppv5.lib libc.lib Staticlibrary libcrt0.lib Capability all -tcb //End of test_exe.mmp