Boost logo

Boost Users :

From: Robert Ramey (ramey_at_[hidden])
Date: 2004-12-20 23:23:10


Are you buiding with bjam or with some other system. Here are the results
we get when we use bjam.

http://www.meta-comm.com/engineering/boost-regression/developer/serializatio
n.html

Most tests pass, a number of test fail - these are related to the
serialization of derived pointers. This is a pending issue.

Robert Ramey

Ryan Wilcox wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hello all,
>
>
> I would like to use boost::serialize for one of my projects, using
> Codewarrior 8.3 (going to CW 9 may or may not be in the picture), on
> Mac OS X (10.3.x)
>
> Anyway, I've been working on getting the unit tests for
> boost::serialize up and running inside the Codewarrior IDE. I created
> a new project file (C++, Mac OS Carbon, Console), included a
> serialize unit test, set the paths correctly, included the files I
> thought I would need for boost::test stuff, all that jazz.
>
> The test that I'm trying out now, in the serialization test suite, is
> test_binary.cpp. Trying to compile it gave me some immediate compiler
> errors (which I fixed by #including some additional source files:
> "binary_archive.hpp", "stdio.h" (tmpnam is in stdio.h in CW, and not
> cstdio).
>
> At the end I have just one error which I don't understand (both
> because the error message is hard to parse, and I'm fairly new to the
> boost libraries in general).
>
> Here, for completeness, is the error message:
>
>
> Error : illegal use of abstract class
>
('boost::archive::detail::basic_iserializer::load_object_data(boost::archive
::detail::basic_iarchive
> &, void *, const unsigned int) const')
> ~ (point of instantiation: 'test_main(int, char **)')
> ~ (instantiating:
>
'boost::archive::detail::interface_iarchive<boost::archive::binary_iarchive>
::operator>><boost::serialization::nvp<A>>(const
> boost::serialization::nvp<A> &)')
> ~ (instantiating:
>
'boost::archive::binary_iarchive_impl<boost::archive::binary_iarchive>::load
_override<boost::serialization::nvp<A>>(boost::serialization::nvp<A>
> &, int)')
> ~ (instantiating:
>
'boost::archive::basic_binary_iarchive<boost::archive::binary_iarchive>::loa
d_override<boost::serialization::nvp<A>>(boost::serialization::nvp<A>
> &, int)')
> ~ (instantiating:
> 'boost::archive::load<boost::archive::binary_iarchive,
> boost::serialization::nvp<A>>(boost::archive::binary_iarchive &,
> boost::serialization::nvp<A> &)')
> ~ (instantiating:
>
'boost::archive::detail::load_non_pointer_type<boost::archive::binary_iarchi
ve,
> boost::serialization::nvp<A>>::invoke(boost::archive::binary_iarchive
> &, boost::serialization::nvp<A> &)')
> ~ (instantiating:
>
'boost::archive::detail::load_non_pointer_type<boost::archive::binary_iarchi
ve,
>
boost::serialization::nvp<A>>::load_only::invoke(boost::archive::binary_iarc
hive
> &, boost::serialization::nvp<A> &)')
> ~ (instantiating:
> 'boost::serialization::serialize_adl<boost::archive::binary_iarchive,
> boost::serialization::nvp<A>>(boost::archive::binary_iarchive &,
> boost::serialization::nvp<A> &, const unsigned int)')
> ~ (instantiating:
> 'boost::serialization::serialize<boost::archive::binary_iarchive,
> boost::serialization::nvp<A>>(boost::archive::binary_iarchive &,
> boost::serialization::nvp<A> &, const unsigned int)')
> ~ (instantiating:
> 'boost::serialization::access::serialize<boost::archive::binary_iarchive,
> boost::serialization::nvp<A>>(boost::archive::binary_iarchive &,
> boost::serialization::nvp<A> &, const unsigned int)')
> ~ (instantiating:
>
'boost::serialization::nvp<A>::serialize<boost::archive::binary_iarchive>(bo
ost::archive::binary_iarchive
> &, const unsigned int) const')
> ~ (instantiating:
>
'boost::archive::detail::interface_iarchive<boost::archive::binary_iarchive>
::operator&<A>(A
> &)')
> ~ (instantiating:
>
'boost::archive::binary_iarchive_impl<boost::archive::binary_iarchive>::load
_override<A>(A
> &, int)')
> ~ (instantiating:
>
'boost::archive::basic_binary_iarchive<boost::archive::binary_iarchive>::loa
d_override<A>(A
> &, int)')
> ~ (instantiating:
> 'boost::archive::load<boost::archive::binary_iarchive,
>> (boost::archive::binary_iarchive &, A &)')
> ~ (instantiating:
>
'boost::archive::detail::load_non_pointer_type<boost::archive::binary_iarchi
ve,
>>>> invoke(boost::archive::binary_iarchive &, A &)')
> ~ (instantiating:
>
'boost::archive::detail::load_non_pointer_type<boost::archive::binary_iarchi
ve,
>>>> load::invoke(boost::archive::binary_iarchive &, A &)')
> ~ (instantiating:
> 'boost::archive::detail::iserializer<boost::archive::binary_iarchive,
>>>> instantiate()')
> iserializer.hpp line 142 static iserializer instance;
>
> _____
>
> I don't, really, understand why there's an error here, as iserializer
> is ~ a non-abstract type (as far as I can see), but it looks like
> there's plenty of template stuff going on, and there may be a clue in
> there.
>
>
> Does anyone have any pointers, or ideas on how I can fix this error?
>
> Thanks,
> _Ryan Wilcox
>
> ================================================================
> Wilcox Development Solutions: http://www.wilcoxd.com
> Toolsmiths for the Internet Age PGP: 0x2F4E9C31
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.6 (Darwin)
> Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
>
> iD8DBQFBx1BUbYO0qC9OnDERAtAcAJ4nR0Zff4hFRNQJzyVybmIO1DF7IwCff2LK
> 1KAnmA4JtS6AOvLgrJxVkF4=
> =/7gM
> -----END PGP SIGNATURE-----


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