2008年12月1日 星期一

boost 的serialization export問題

今天在寫一個專案,用到了很多繼承的物件要透過boost::serialization來儲存,但是我的程式碼明明就有加入BOOST_CLASS_EXPORT選項,可是就是不明白為什麼有的class可以正常被serialization,有的則會丟出excetipn(unregistered class),後來找到這一篇文章,他裡頭有提到

为使用这些宏,必须包含boost/serialization/export.hpp,在包含该头文件之前,必须首先包含所有要使用的archive类的头文件。

嗯嗯,的確我就是在某一個.h裡include "export.hpp",而又在另一個.cpp檔include "binary_iarchive.hpp",一直都不知道boost原來在使用上還有這些細節,造成我今天半天的時候都在處理這個超乎我想像的問題。 orz....


或許改天真的要來了解一下boost::serialization的底層設計吧,加深自己對boost的認識。

沒有留言:

LinkWithin

Related Posts with Thumbnails