Boost logo

Boost :

Subject: Re: [boost] 32/64 library name conflict under Windows?
From: Gavin Lambert (gavinl_at_[hidden])
Date: 2016-03-08 17:44:53


On 8/03/2016 17:18, Rene Rivera wrote:
> 1. Some people don't fancy auto-linking.

I think the only people who don't fancy auto-linking are probably those
who are building on Linux or multi-platform, and so can't make use of
it. Encourage the gcc/clang devs to add support for it. :)

> A) Having file names with "32" *and* "64" on them?

Yes, but rather than just 32 and 64 it should be the actual arch name.
Libraries built for ARM should be readily distinguishable from those for
x86.

> D) Having the current names and placing 32 bit address-model variants in
> "stage/lib32" and 64 bit in "stage/lib64"? (Equivalently for install
> location)

This would be good as well (though again using the arch name, not just
bit level).

In fact the option I would personally prefer would be to do both of
these at once -- embed the arch into the library name, but also build it
to an arch-named output directory.

It's not unreasonable to have different library paths for different
arches, and with auto-linking the difference in library names is not
important when building -- but having different names is important when
distributing them local with an application; imagine a case where both a
32-bit exe and a 64-bit exe are to be installed to the same folder.
Currently this is not possible because the Boost DLLs will clash.

Even where auto-linking is not used, it's just a matter of specifying
the library name in the project file / makefile / whatever with a
placeholder variable for the arch, or conditionally setting the list of
libraries in the same fashion as the library search path. It's not that
hard.


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