|
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