Hi, in trying to debug a problem we are experiencing here with binary archives I tried switching to text archives to see if we get the same behaviour. However, now I can't even compile my code! A straight swap for binary_oarchive to text_oarchive gives me these errors:
error: invalid application of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE<false>’
The arrangement of my header files is like so:
// base_msg.h
#include
#include
#include
using boost::archive::text_oarchive;
using boost::archive::text_iarchive;
class Base
{
private:
text_oarchive out;
text_iarchive in;
};
template<class T> class MsgSerializer : public T, public Base
{
...
};
// msg.h
#include "base_msg.h"
// Boost containers, algorithms etc.
#include
#include
#include
#include
#include
struct MyMsg_
{
template<class Archive>
void
serialize(Archive &p_archiver, const unsigned int /* version */)
{
}
};
typedef MsgSerializer MyMsg;
etc.
I have literally just changed binary_ for text_ and it now spits out said error whenever it encounters MyMsg_. This used to compile fine. Even if I re-arrange the headers I still get the same error? What must I change to get text_archives to compile!?
I've also tried adding access.hpp (which I didn't have to do before) and serialization.hpp all to no avail.
Regards,
Jim
--
James Vanns
Systems Programmer
Framestore CFC Ltd.