Boost logo

Boost :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2001-12-17 19:14:10


----- Original Message -----
From: "mfdylan" <dylan_at_[hidden]>

> Unix has no way that I'm aware of for specifying that an entry point
> with external linkage should NOT be exported from a shared object.
> To me this is a mistake, as for instance in a recent project where we
> compiled some old code into a shared object that was used purely for
> reading files from an older software version. The shared object made
> use of older versions of some our library classes, that were not
> compatible with the newer versions. Under Windows this was no
> problem, but under some flavours of Unix for instance, the destructor
> for the wrong version of the class was getting called and causing
> mayhem. We had to rename the class to avoid the problem.
> I'd still like to find a solution to this, if anyone has one, by the
> way...

The best known way to deal with that is with version namespaces:

namespace boost_1_26_0
{

   ....
}

namespace boost = boost_1_26_0;

I imagine it's a lot of work, though.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk