From: Bjørn Roald (bjorn_at_[hidden])
Date: 2007-05-15 03:58:29
> Assume that you have multiple developers developing plugins
> for a commercial package and that we recently deployed boost
> 1.34 to our facility. For some informed developers, they will
> switch over to 1.34 whereas others might not know and stick with
> 1.33.1 or even 1.32. Now imagine loading in all these plugins
> into the 3rd party app, wouldn't there be some sort of symbol
> problems especially with boost run-time libraries (take the
> regex library for example) ??
> Does anyone have suggestions on handling this? A typical way we
> solve versioning our open source libraries is to add a namespace
> to it. eg. SomeLibrary::v1_33_1 (although we never did attempt to
> fiddle around with boost). Any other ideas?
I did some work on this in boost a few years back. But my problem went
away as it was decided not to use boost in product libraries :-( but
only use it in applications and tools.
Basically my approach was to modify the $BOOST_ROOT/tools/bcp tool so it
would wrap boost libs in alternative namespace to "boost". I have some
code for bcp which seems to work good, but I never completed a full
regression test with all of boost. Using boost types in interfaces to
your lib/plug-in will pose some challenges with this approach.
Otherwise I think it is the way to go.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk