|
Boost Users : |
Subject: [Boost-users] [Serialization: Newbie] Compilation Problem Text Archive
From: Soumen (soumen78_at_[hidden])
Date: 2009-07-31 06:45:39
Hi,
I'm facing some compilation problem when I use text archive. But the same
code works fine when I use binary archive. And it does write something on
disk with specified file name (I'm yet to finish the restore part.
Otherwise, I could've said it works). Do I need to do something differently?
The error I get is something like following:
------------------------------------------------------------------------------------------
/boost/1_35_0/include/boost/archive/detail/oserializer.hpp: In function
âvoid boost::archive::save(Archive&, T&) [with Archive =
boost::archive::text_oarchive, T = TableMgr*]â:
/boost/1_35_0/include/boost/archive/detail/common_oarchive.hpp:64:
instantiated from âvoid
boost::archive::detail::common_oarchive<Archive>::save_override(T&, int)
[with T = TableMgr*, Archive = boost::archive::text_oarchive]â
/boost/1_35_0/include/boost/archive/basic_text_oarchive.hpp:75:
instantiated from âvoid
boost::archive::basic_text_oarchive<Archive>::save_override(T&, int) [with T
= TableMgr*, Archive = boost::archive::text_oarchive]â
/boost/1_35_0/include/boost/archive/detail/interface_oarchive.hpp:64:
instantiated from âArchive&
boost::archive::detail::interface_oarchive<Archive>::operator<<(T&) [with T
= TableMgr*, Archive = boost::archive::text_oarchive]â
/remote/gsoumen/hiers/trunk/code/cmds/Cmds.cpp:1518: instantiated from
here
/boost/1_35_0/include/boost/archive/detail/oserializer.hpp:564: error:
invalid application of âsizeofâ to incomplete type
âboost::STATIC_ASSERTION_FAILURE<false>â
cc1plus: warnings being treated as errors
------------------------------------------------------------------------------------------
My code is something like following:
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
//I use binary archive hpp when I use binary archive mode
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/utility.hpp>
std::ofstream ofs(fileName.c_str(), ios_base::out); // with bin archive I
also use ios_base::binary
boost::archive::text_oarchive oarchive(ofs); //for bin archive, oarchive is
of binary_oarchive type
TableMgr *tblMgr = TableMgr::instance();
if (tblMgr) {
oarchive << tblMgr;
}
//I've TableMgr::serialize() defined ...
Regards,
~ Soumen
-- View this message in context: http://www.nabble.com/-Serialization%3A-Newbie--Compilation-Problem-Text-Archive-tp24754405p24754405.html Sent from the Boost - Users mailing list archive at Nabble.com.
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