Guidelines for Writing Standard C++ Libraries

Ensure that you adhere to the following guidelines while writing Standard C++ Libraries on the Symbian platform:

  1. Developing a DLL - Import/Export static data

    Importing or exporting writable static data from a DLL is not supported on the Symbian platform. To achieve this, you must provide an exported function in the DLL to return a reference or pointer to that data. For more information about limitations on static data, see the Static data section.

  2. Developing a static library

    The Symbian build environment enforces the following rules:

    1. If a static library is of type STDLIB , it is allowed to be linked to by an STDEXE or STDDLL .

    2. If a static library is of type STDLIB , it is allowed to be linked to by an executable ( EXE or a DLL ) that has the STDCPP keyword in its .mmp file.

    3. If a static library is of target type LIB and its .mmp file contains the keyword STDCPP , it is allowed to be linked to by an STDEXE or STDDLL .

    4. If a static library is of target type LIB and its .mmp file does not contain the keyword STDCPP , it is allowed to be linked to by an executable that does not contain the keyword STDCPP .

    5. If a static library is of target type LIB and its .mmp file does not contain the keyword STDCPP , it is not allowed to be linked to by an executable that is an STDEXE or STDDLL .

      Note: An attempt to violate this rule causes a build time error.

    6. If a static library is of target type STDLIB , it is not allowed to be linked to by an executable ( EXE or DLL ) that does not mention the keyword STDCPP .

      Note: An attempt to violate this rule causes a build time error.