On Jul 9, 2006, at 21:24, Robert Ramey wrote:
In your test case you serialize SimpleNode instance rather than a pointer. So I would ne expect save_construct_data to be called in this case.
A couple of things don't look right to me.
a0 Node has a serialize function. But the program also includes
boost::serialization::void_cast_register
(NULL, NULL);
I've been finding it necessary on other classes, but I'll try removing it.
which I believe should be necessary only if the SimpleNode serialize function doesn't invoke base_object ...
b) Of course I'm wondering what CORE_DATA_API might expand to - and if this might prevent the compiler from finding the specializaton.
On gcc, it expands to nothing, on VC8, it expands to __declspec (dllexport) or __declspec(dllimport) as appropriate. I'm now trying to figure out what I did for my last change, because I'm now getting a linker undefined error for: boost::archive::text_iarchive_implboost::archive::text_iarchive::load_ override(boost::archive::class_name_type&, int) I thought it was just shifting where the boost/serialization headers get included, but switching back didn't restore the symbol... when I get that figured out, I'll get back to the problem of interest...