Re: Serialization issuses under MS VC++ 7.1 ....

Hello Jason, I get the same error message when trying to deserialize this class (MSVC 7.1): class TestVector { private: std::vector<int> v; friend class boost::serialization::access; template<class Archive> void serialize(Archive& ar, const unsigned int version) { ar & BOOST_SERIALIZATION_NVP(v); } public: TestVector() { } }; Klaus "Jason Earl" <jason@hybd.net> schrieb im Newsbeitrag news:<004001c533fc$48724270$861aa8c0@system2600>...
If you have look at my original code, it does use BOOST_SERIALIZATION_SPLIT_MEMBER() inside the class (sorry the code doesn't intend with tabs nicely).
I also have tried including both...
#include <boost/serialization/split_member.hpp> #include <boost/serialization/split_free.hpp>
but neither work. I assume that the split free is obviously used by the list data type as it's not intrusive, and the member one is what I should include and have been including.
I'll look running the tests later when I get round to figuring out how to run them etc. I'll need to RTFM first though. From the regression thingy, it said MSVC++7.1 worked OK though.
I think this could be a little bug in the library (I won't speak too loudly here as I'm still a C++ beginner, and therefore there's a good chance I'm still doing something very dumb), maybe someone else could confirm they get the same problem as me when trying to serialize an class member varaible that is a list of objects using load / save methods that are class members under VS.NET 2003, like in my example....
anotherwords I have class A with separate load/save members, and then I have class B which has a member inside it that is of type std::list<A*>.
Sorry in advance if I break the threaded reply structure on this list. I didn't have the list mail me replies. I'm new to all this mailing list stuff.
Jason
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

I think I got the problem sorted in the end. I dunno how. I was up at 4am the other night, in a mood (coz I work 9-5 anyway) cursing the computer (as you do). Anyway, I got so cheesed off I just hit Ctrl Z, and held it down for about 30 seconds, and then faffed about cut an pasting code round and tweaking bits for 5 mins and everything seemed to to compile without issues, and it seems to serialize my stuff to disk now. I dunno what fixed it which *REALLY ANNOYS* me, so it will happen again knowing my luck :-( I'd like to get to the bottom of it, I'm sure it has to do with VC.NET being fussy with something as things seem hit and miss. When I get some time, I'll play about in Linux and see if I get the same problem. I'm sure it will work without a hitch, once I figure out how to make makefiles in linux and get to know my way round GCC. It certainly seems like VC.NET is what's causing the trouble. I found someone else having problems with STL containers at http://lists.boost.org/MailArchives/boost/msg75271.php It has the exact same errors round line 54ish of the split free include. Anyway, I'd like to get to the bottom of what causes this, even though it seems fixed (I use the word "seems" as I still have some mem leaks when I unserialize, which I'm sure is down to my failure to delete pointers somewhere). Jason On 31 Mer 2005, at 07:39, Klaus Gütter wrote:
Hello Jason,
I get the same error message when trying to deserialize this class (MSVC 7.1):
class TestVector { private: std::vector<int> v;
friend class boost::serialization::access; template<class Archive> void serialize(Archive& ar, const unsigned int version) { ar & BOOST_SERIALIZATION_NVP(v); } public: TestVector() { } };
Klaus
"Jason Earl" <jason@hybd.net> schrieb im Newsbeitrag news:<004001c533fc$48724270$861aa8c0@system2600>...
If you have look at my original code, it does use BOOST_SERIALIZATION_SPLIT_MEMBER() inside the class (sorry the code doesn't intend with tabs nicely).
I also have tried including both...
#include <boost/serialization/split_member.hpp> #include <boost/serialization/split_free.hpp>
but neither work. I assume that the split free is obviously used by the list data type as it's not intrusive, and the member one is what I should include and have been including.
I'll look running the tests later when I get round to figuring out how to run them etc. I'll need to RTFM first though. From the regression thingy, it said MSVC++7.1 worked OK though.
I think this could be a little bug in the library (I won't speak too loudly here as I'm still a C++ beginner, and therefore there's a good chance I'm still doing something very dumb), maybe someone else could confirm they get the same problem as me when trying to serialize an class member varaible that is a list of objects using load / save methods that are class members under VS.NET 2003, like in my example....
anotherwords I have class A with separate load/save members, and then I have class B which has a member inside it that is of type std::list<A*>.
Sorry in advance if I break the threaded reply structure on this list. I didn't have the list mail me replies. I'm new to all this mailing list stuff.
Jason
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (2)
-
Jason Earl
-
Klaus Gütter