Table of Contents
To compile and link with the library, all of these requirements must be met:
on Mac OS X and POSIX systems, GNU gcc/g++ 4.0 or later, and on Windows, Microsoft Visual C++ 2005 or later. Earlier compilers cannot correctly compile the library and its test suite, so they are unsupported. Compilers from other vendors have not been tested. In general, a compiler which complies with the C++ 2003 standard should be able to build the library, but may or may not pass the test suite.
a type traits library; currently, this must be one of these libraries:
For the type traits library, the serialization
library prefers std::tr1 then Loki
then boost, ie, if
std::tr1 is not available (or specified as not to
be used), it will try to use Loki,
and if Loki
is not available (or specified as not to be used), it will try to
use boost, and if
boost
is not available (or specified as not to be used), the library will
fail to compile. Clients can configure which one to use by modifying
the config.hpp file (or
#define'ing the preferred library prior to
#include'ing config.hpp).
C++ exceptions must be enabled to handle error conditions
the STL; the library uses pair, vector, string, limits, and perhaps other STL items.
RTTI is required only if polymorphic types are to be supported (note that polymorphic type support defaults to ON). In other words, if no polymorphic types are to be serialized then RTTI support can be disabled. See "Selecting RTTI support" for instructions on how to disable RTTI support in the library.
You can use the serialization library either as a static library or a dynamic library. Which one you choose determines how you deploy your program, as outlined in the next section.