Opened 13 years ago

Closed 13 years ago

#3933 closed Bugs (duplicate)

serialization assertion failure on windows using DLLs

Reported by: cris@… Owned by:
Milestone: Boost 1.43.0 Component: None
Version: Boost 1.42.0 Severity: Problem
Keywords: Cc:

Description

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.

Change History (1)

comment:1 by anonymous, 13 years ago

Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.