【发布时间】:2012-11-25 14:04:15
【问题描述】:
我已经为 OpenCVs Mat 格式实现了序列化,如下所述:Serializing OpenCV Mat_<Vec3f>
我现在遇到了序列化指向 cv::Mat 的共享指针的问题。 它给出了以下错误:
/usr/include/boost/serialization/shared_ptr.hpp: In function ‘void boost::serialization::serialize(Archive&, boost::shared_ptr<U>&, unsigned int) [with Archive = boost::archive::text_iarchive, T = boost::shared_ptr<cv::Mat>]’:
/usr/include/boost/serialization/serialization.hpp:128:9:
从'void >boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = >boost::archive::text_iarchive, T = boost::shared_ptr >]' /usr/include/boost/archive/detail/iserializer.hpp:188:5:
实例化自 'void >boost::archive::detail::iserializer::load_object_data(boost::archive::detail::basic_iarchive&, void*, unsigned int) const [with Archive = boost::archive:: text_iarchive, T = boost::shared_ptr >]' 识别2d3d.cpp:227:1: 从这里实例化
/usr/include/boost/serialization/shared_ptr.hpp:167:5:错误:静态断言失败:“boost::serialization::tracking_level::value != boost::serialization::track_never” `
我尝试使用 BOOST_CLASS_TRACKING,但无法正常工作。其实我真的不明白问题是什么,阅读boost文档无助于解决这个问题。
【问题讨论】:
-
如果您收到此错误,那么该类型的跟踪可能已禁用?寻找类似
BOOST_CLASS_TRACKING(cv::Mat, boost::serialization::track_never)的东西。
标签: serialization boost