Joseph Hosteny wrote:
Thanks for the response. I'd have continued the thread, but I didn't get the original emails from the list to reply to.
I tried an explicit registration, with the same results. Also, I did step into the code where the EXPORT macros were being called, and I verified that the pertinent classes were registered in the boost::serialization::detail::ktmap, at least (not sure about the tkmap). It seems like it just doesn't find the class in the oserialization file where the exception is thrown.
The serialization is invoked in a const public class method, via "oa << this;" Is there anything tricky you might be aware of that could cause the type comparisons to fail? Could I potentially be missing something in my class?
I would be curious as to the context in which one would use: oa << this; I don't know that its relevant. But off hand I can't see why anyone would ever want to do this rather than oa << x where x is the thing we want to save.
Unfortunately, the project is quite large and it'd fairly difficult to strip out everything and add it back in incrementally.
Which of course makes it almost impossible for me to be of
much help. If its a big project, you might try the following.
a) create a small test program. This program would include
the class declarations for all your classes which include serializaition.
b) invoke serialization on each one of your classes.
So the result would look like:
#include