Subject: Re: [Boost-bugs] [Boost C++ Libraries] #12336: Add Hint to BOOST_ALL_DYN_LINK=1 to serialization library
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-11-02 06:25:45
#12336: Add Hint to BOOST_ALL_DYN_LINK=1 to serialization library
-------------------------------+---------------------------
Reporter: georg@⦠| Owner: ramey
Type: Bugs | Status: new
Milestone: To Be Determined | Component: serialization
Version: Boost 1.61.0 | Severity: Problem
Resolution: | Keywords: Documentation
-------------------------------+---------------------------
Comment (by georg@â¦):
Dear Robert,
yes, if i link all static (without explicit loaded plugin dll) i get one
registry.
We use a lot of virtual base classes in the executable and the
implementations in dlls. The plugin is explicit loaded via "LoadLibrary()"
and the instance is created via an exported and "GetProcAddress()ed"
function.
If i link static, the executable and the plugin dll, i get two registries.
You can verify this if you check what extended_type_info object the
BOOST_EXPORT_KEY_IMPLEMENT calls. I checked the this pointers of it.
If i link all, the executable and the plugin with BOOST_ALL_DYN_LINK=1,
then there is just one registry.
A coworker run into this problem and got unregistered_class exceptions and
he could not figure out why it occured. I knew this from the past and
could help him. So i thought, why not add a hint in the documentation.
Georg
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/12336#comment:2> 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:20 UTC