|
Boost Users : |
From: Robert Ramey (ramey_at_[hidden])
Date: 2007-03-28 01:28:07
OK
Try the following:
//BOOST_CLASS_EXPORT(base);
BOOST_CLASS_EXPORT(derived);
#include <boost/serialization/shared_ptr.hpp>
//BOOST_SERIALIZATION_SHARED_PTR(base);
BOOST_SERIALIZATION_SHARED_PTR(derived);
The base class shouldn't need exporting as it never
directly instantiated.
Robert Ramey
Sohail Somani wrote:
>> -----Original Message-----
>> From: boost-users-bounces_at_[hidden]
>> [mailto:boost-users-bounces_at_[hidden]] On Behalf Of Robert
>> Ramey Sent: Tuesday, March 27, 2007 2:39 PM
>> To: boost-users_at_[hidden]
>> Subject: Re: [Boost-users] [serialization] Assertion `new_cid
>> ==cid'failed-fails on gcc, works on msvc
>>
>> Note that serialize a poly morphic shared pointer requires a little
>> bit of gymnastics. Check out the "test_shared_ptr" and the
>> source of serialization/shared_ptr.hpp
>
> I think I've followed the documentation, but the attached test still
> triggers an assertion when deserializing on gcc 3.2.2:
>
> $ ./build/stage/bin/test_serialize
> Serialized form: 22 serialization::archive 3 0 1 2 7 derived 1 0
> 0 1 0
> 1 10 derived id
> test_serialize: basic_iarchive.cpp:466: const
> boost::archive::detail::basic_pointer_iserializer*
> boost::archive::detail::basic_iarchive_impl::load_pointer(boost::archive
>>> detail::basic_iarchive&, void*&, const
> boost::archive::detail::basic_pointer_iserializer*, const
> boost::archive::detail::basic_pointer_iserializer*(*)(const
> boost::serialization::extended_type_info&)): Assertion `new_cid ==
> cid' failed.
> Aborted
>
> This assertion does not trigger occur on Visual C++ 7.1. Can you spot
> if I'm doing something obviously silly?
>
> TIA,
>
> Sohail
>
>
>
>
>> _______________________________________________
>> Boost-users mailing list
>> Boost-users_at_[hidden]
>> http://lists.boost.org/mailman/listinfo.cgi/boost-users
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net