It will be a while before I can attempt to build boost or boost
x64, but I wanted to know how it names or deposits the 64 bit binaries? Should
I expect ‘64’ embedded in the ABI tags like the following?
·
boost_tetris-vc90-mt-1_40.dll //32
bit release
·
boost_tetris-vc90-mt-d-1_40.dll //32
bit debug
·
boost_tetris-vc90-mt-64-1_40.dll //64
bit release
·
boost_tetris-vc90-mt-d64-1_40.dll //64
bit debug
…Or should I expect that 32 bit binaries will show up in a
“lib” folder, and 64 bit binaries will have the same names and show
up in a “lib_64” folder?
Part of what makes this question interesting is how Windows
locates and loads 32/64 bit DLLs. If a 32 bit process tries to load a boost
library, but encounters a 64 bit version of the library, it will silently skip
past the 64 bit version until it locates the 32 bit version in some other
path. The opposite is also true (if seeking 64 bit, it will silently skip
any 32 bit it finds so that it locates the 64 bit version on another path).
It is debatable whether that behavior should be exploited by
developers and vendors, but the behavior is lost if the 32/64 boost binaries
have different names.
How does the community feel about this? Should those
values (‘32’ or ‘64’) be embedded in the name?
Which direction is boost heading on this matter?
-Brent