Home --> Documentations --> PJLIB Reference
The libraries support generation of dynamic link libraries for Symbian ABIv2 target (.dso/Dynamic Shared Object files, in Symbian terms). Similar procedures may be applied for Win32 DLL with some modification.
Depending on the platforms, these steps may be necessary in order to produce the dynamic libraries:
pjlib/build.symbiandirectory. These DEF files are created by running
./makedef.sh allfrom this directory, inside Mingw.
Macros related for building DLL/DSO files:
PJ_EXPORT_SPECIFIERmacro which value contains the prefix to be added to symbol definition, to export this symbol in the DLL/DSO. For example, on Win32/Visual Studio, the value of this macro is __declspec(dllexport), and for ARM ABIv2/Symbian, the value is EXPORT_C.
PJ_IMPORT_SPECIFIERmacro which value contains the prefix to be added to symbol declaration, to import this symbol from a DLL/DSO. For example, on Win32/Visual Studio, the value of this macro is __declspec(dllimport), and for ARM ABIv2/Symbian, the value is IMPORT_C.
PJ_IMPORT_SPECIFIERmacros above can be declared in your config_site.h if they are not declared by pjlib.
PJ_EXPORTINGmacros must be declared, so that
PJ_EXPORT_SPECIFIERmodifier will be added into function definition.
PJ_DLLmacro when using/including PJLIB header, so that
PJ_IMPORT_SPECIFIERmodifier is properly added into symbol declarations.
When PJ_DLL macro is not declared, static linking is assumed.
For example, here are some settings to produce DLLs with Visual Studio on Windows/Win32:
#define PJ_EXPORT_SPECIFIER __declspec(dllexport) #define PJ_IMPORT_SPECIFIER __declspec(dllimport)
PJ_DLLin the macro declarations.