Subject: Re: [boost] version conflicts: is there a solution?
From: Frank Mori Hess (frank.hess_at_[hidden])
Date: 2009-06-24 09:17:53
-----BEGIN PGP SIGNED MESSAGE-----
On Wednesday 24 June 2009, Edward Diener wrote:
> Lewis Hyatt wrote:
> > Now, it seems to me that users of my library will still have to be aware
> > of the fact that I used boost in my implementation -- specifically, if
> > they happen to use different versions of the same boost libraries in
> > their code, then the ODR is violated and the behavior is undefined.
> If you are distributing a library without the source it means that you
> are distributing a library in object format, whether shared or static.
> In this case there is no conflict between the Boost header files you are
> using internally and other uses of Boost since the end-user of your
> library never sees the internal header files you are using.
Having the definitions separated into different translation units doesn't seem
to be enough to prevent ODR violations according to the standard. It gives a
list of requirements for multiple definitions in different translation units
in section 3.2.5.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
-----END PGP SIGNATURE-----
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk