Boost logo

Boost Users :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2008-04-13 18:59:30


Dan Thill:

> And, according to the trunk version, putting serialization code in DLLs
> is supposed to work--using the same organization I'm trying to use now.
> But it looks like it won't work with static libs.

The easiest way to force the inclusion of a particular .o(bj) file is to
call a function from it. You could call a function from each .cpp file in
which you have an export macro.

This is in fact not much different than just having "register<X>()" calls
instead of export macros, which is why I tend to prefer this low-tech
approach instead of relying on implicit registration via static object
constructors.

Maybe the serialization library could provide an alternative function-based
registration mechanism that would be immune to the static library problem.
Or maybe it already provides it:

    guid_initializer< T >().export_guid( "T" );

This is less convenient, but has the advantage of working. :-)


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net