Boost logo

Boost Users :

Subject: [Boost-users] [serialization] Implementation in mutliple DLLs
From: Guy Premont (guy.premont_at_[hidden])
Date: 2010-09-08 09:12:09


Hi,

I've done research on the list and could not find any pointer about my
problem so here it is.

I'm using windows, boost 1.40, and vc9, i am not using polymorphic
archives, and i'm using member function serialization.

In a big project, separated in different modules, I want to spread
serialization also into different DLLs. Typically, i have a base class
Base, implemented in Base.dll and the serialization is in
BasePersistence.dll. The serialization member functions are marked
with ddlexport or dllimport, explicit template instantiation is done
to force inclusion in the dll. So far everything is working.

Now I have a class Derived, derived from Base, implemented in
Derived.dll. If i have only one serialization library that handle all
classes, it works fine, but I want the serialization to be split with
the same module as the implemention. So, I want the serialization of
class Derived to be in DerivedPersistence.dll. It compiles but fails
to link, There are a lot of undefined symbols, most are in
boost::serialization::archive namespace.

Is there a special BOOST_DLL flag to use? It seems like the
DerivedPersistence.dll does not find in BasePersistence.dll the
functions it should find.

Is it at all possible to spread the serialization code into multiple
dependent DLLs? Just having something to hint at a possible solution
would be a big help.

Thanks
Guy

-- 
Guy Prémont, D.Sc.
Architecte logiciel senior / Senior software architect
CM Labs Simulations Inc. http://www.cm-labs.com/
Tel. 514-267-1166 ext. 237

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