Boost logo

Boost :

From: mfdylan (dylan_at_[hidden])
Date: 2001-12-17 19:42:31


--- In boost_at_y..., "David Abrahams" <david.abrahams_at_r...> wrote:
>
> ----- Original Message -----
> From: "mfdylan" <dylan_at_m...>
>
> > 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.

Especially when two of your compilers don't even support
namespaces :o)
If they did that's exactly what I'd do.

Dylan


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