To really solve this problem, do the following:
In your private copy of boost/serialization/shared_ptr.hpp replace
#ifdef BOOST_SHARED_PTR_HPP_INCLUDED
#error "include
I'm attempting to apply the boost::serialization library to my application.
Because it is fairly large, I've choosing to implement the serialize methods as non-templates. Such a tactic is used in some of the examples, for instance demo_polymorphic_A.hpp. This means that I don't include any boost.serialization or boost.archive headers in my definition files. A forward reference to the specific archive object is made instead.
I've run into trouble with an object wrapped in a shared_pointer. To solve this, I've attempted to defined the BOOST_SHARED_POINTER_EXPORT() macro in this object's definition file. This necessitates including boost/serialization/shared_ptr.hpp.
The problem is no matter what position I place this include file in this *.h file, I get the following error. boost/serialization/shared_ptr.hpp:26:2: #error "include
first This is a self reference, what is it trying to say?
In other words, what do I have to include before boost/serialization/shared_ptr.hpp to make it happy?