Re: [Boost-bugs] [Boost C++ Libraries] #12336: Add Hint to BOOST_ALL_DYN_LINK=1 to serialization library

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