Subject: [Boost-bugs] [Boost C++ Libraries] #6899: boost serialization calls wrong guild()
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-05-14 16:44:56
#6899: boost serialization calls wrong guild()
-------------------------------------------+--------------------------------
Reporter: Xiaolong <xwu622@â¦> | Owner: ramey
Type: Bugs | Status: new
Milestone: To Be Determined | Component: serialization
Version: Boost 1.44.0 | Severity: Problem
Keywords: guid |
-------------------------------------------+--------------------------------
I have a serializaiton program that serializes over 600 classes. During
the singleton initialization, the program should call the guid() function
defined in macro BOOST_CLASS_EXPORT_GUID in export.hpp. But about 40% of
class singletons call the dummy guild() function defined in
extened_type_info.hpp:
template<class T>[[BR]]
struct guid_defined : boost::mpl::false_ {};[[BR]]
template<class T>[[BR]]
inline const char * guid(){[[BR]] return NULL;[[BR]]}
This causes m_key=NULL, and later causes "unregistered class" error for
multiple inheritence classes.
The following two lines are ajacent in the same file. The first calls the
dummy guid(), the second calls the macro guid().[[BR]]
BOOST_CLASS_EXPORT_GUID(CffCDOQuote, "CffCDOQuote")[[BR]]
BOOST_CLASS_EXPORT_GUID(boost::shared_ptr< CffCDOQuote >,
"CffCDOQuotePtr")
I am working in Windows 7, VC++ 9.0 and Boost 1.44.0.
I tried all possible project settings of optimization and runtime, got no
luck.
It is difficult to create a simple test case. I will be happy to provide
more info if needed.
Thanks
Xiaolong
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/6899> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:09 UTC