[Serialization] assert fail and unregistered class

Hi I get assert fail and "unregistered class - derived class not registered or exported" when serializing. I have many classes being saved already in the code but i ran to a problem saving certain std::list with derived classes. (I also have similar classes and list being serialized before) i think its the same issue as in here: http://boost.2283326.n4.nabble.com/serialization-polymorphic-archives-runtim... i have boost version 1.46.1 and visual studio express 2010 heres the call stack: msvcr100d.dll!_wassert(const wchar_t * expr, const wchar_t * filename, unsigned int lineno) Line 325 C gamevc10dbg.exe!boost::archive::detail::basic_serializer_map::find(const boost::serialization::extended_type_info & eti) Line 102 + 0x16 bytes C++ gamevc10dbg.exe!boost::archive::detail::archive_serializer_map<boost::archive::binary_oarchive>::find(const boost::serialization::extended_type_info & eti) Line 67 C++ gamevc10dbg.exe!boost::archive::detail::save_pointer_type<boost::archive::binary_oarchive>::polymorphic::save<BasePlayer>(boost::archive::binary_oarchive & ar, BasePlayer & t) Line 435 + 0xe bytes C++ gamevc10dbg.exe!boost::archive::detail::save_pointer_type<boost::archive::binary_oarchive>::save<BasePlayer>(boost::archive::binary_oarchive & ar, const BasePlayer & t) Line 460 + 0xd bytes C++ gamevc10dbg.exe!boost::archive::detail::save_pointer_type<boost::archive::binary_oarchive>::invoke<BasePlayer *>(boost::archive::binary_oarchive & ar, BasePlayer * const t) Line 473 + 0xd bytes C++ gamevc10dbg.exe!boost::archive::save<boost::archive::binary_oarchive,BasePlayer * const>(boost::archive::binary_oarchive & ar, BasePlayer * const & t) Line 525 + 0xf bytes C++ gamevc10dbg.exe!boost::archive::detail::common_oarchive<boost::archive::binary_oarchive>::save_override<BasePlayer * const>(BasePlayer * const & t, int __formal) Line 69 + 0x15 bytes C++ gamevc10dbg.exe!boost::archive::basic_binary_oarchive<boost::archive::binary_oarchive>::save_override<BasePlayer *>(BasePlayer * const & t, int version) Line 76 C++ gamevc10dbg.exe!boost::archive::binary_oarchive_impl<boost::archive::binary_oarchive,char,std::char_traits<char>
::save_override<BasePlayer *>(BasePlayer * & t, int __formal) Line 52 C++ gamevc10dbg.exe!boost::archive::detail::interface_oarchive<boost::archive::binary_oarchive>::operator<<<BasePlayer *>(BasePlayer * & t) Line 64 C++ gamevc10dbg.exe!saveGame() Line 63 + 0x12 bytes C++ gamevc10dbg.exe!SDL_main(int argc, char * * argv) Line 1517 + 0x5 bytes C++ gamevc10dbg.exe!_main() + 0xfd bytes C gamevc10dbg.exe!_WinMain@16() + 0x1cd bytes C gamevc10dbg.exe!__tmainCRTStartup() Line 547 + 0x2c bytes C gamevc10dbg.exe!WinMainCRTStartup() Line 371 C kernel32.dll!75451194() [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] ntdll.dll!76fbb429() ntdll.dll!76fbb3fc() gamevc10dbg.exe!__CT??_R0?AVbad_cast@std@@@8??0bad_cast@std@@QAE@ABV01@@Z12() + 0xd2ce bytes C++ 003426e2()
does any one know whats wrong? I have no idea how to solve this, i have tried everything! i should have all BOOST_CLASS_EXPORT_GUID in place. thx
participants (1)
-
Jari