Subject: [Boost-bugs] [Boost C++ Libraries] #3934: serialization assertion failure on windows using DLLs
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-02-16 10:35:46
#3934: serialization assertion failure on windows using DLLs
--------------------------------+-------------------------------------------
Reporter: cris@⦠| Owner: ramey
Type: Bugs | Status: new
Milestone: Boost 1.43.0 | Component: serialization
Version: Boost 1.42.0 | Severity: Regression
Keywords: |
--------------------------------+-------------------------------------------
On Windows I get an assertion failure in void_cast.cpp line 225 with the
following scenario:
DLL 1 has concrete class C which inherits from virtual B, which inherits
from virtual A. BOOST_CLASS_EXPORT(C) is used.
a static C exists.
DLL 2 has concrete class D which inherits from virtual B.
BOOST_CLASS_EXPORT(D) is used.
a static D exists and will be instantiated when the library is loaded.
main.cpp - contains an instantiation of D to make main.exe depend on both
DLL 1 and DLL 2.
this same test passes on UNIX. It's as if on windows it is trying to
register B twice. Taking out the assert (as was the case in all previous
boost versions) makes things work ok.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/3934> 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:02 UTC