
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-----