Look in Reference->Archive Concepts->SavingArchiveConcept sa.register_type<T>() sa.register_type(u) Robert Ramey Jeff Flinn wrote:
Emil Dotchevski wrote:
BOOST_CLASS_EXPORT relies on global objects' constructors to register the necessary types, however the C++ standard allows a compiler to strip away such objects unless they are actually used.
The C++ standard guarantees that all global objects contained in a compilation unit (a CPP file) are initialized by the time execution enters a function from that compilation unit. So, if execution never enters a function from that compilation unit, the compiler is allowed to deadstrip it.
You have 2 options:
1) tinker with your code to trick the compiler into leaving in (not deadstripping) the automatic BOOST_CLASS_EXPORT registration (which is usually possible), or
2) register the classes explicitly (not automatic, but guaranteed to work)
I can't find 2 in the docs, Can you point me to where to find it?
Thanks, Jeff