There exist a few problems when trying
to compile Boost 1.32.0 under AMD64 with VS.NET 2005:
* No toolset exists to compile Boost
1.32.0 native on the AMD64 platform (no cross compile). The attached file
vc-8_0-amd64-tools.jam fixes that.
* InterlockedExchange() in line 44 of
lwm_win32.hpp collides with a macro of the same name in WinBase.h
One finds in WinBase.h:
#elif
defined(_M_AMD64) && !defined(RC_INVOKED)
...
#define
InterlockedExchange _InterlockedExchange
I changed the name of Boost's function
to InterlockedExchangeBoost() to avoid this problem.
* No type long_type exists when compiling
with the Microsoft Compiler. The 64Bit part in lwm_win32.hpp seems to have
been written for the Intel Compiler. An additional #ifdef now checks if
the 64Bit compiler is from Intel or Microsoft.
The InterlockedExchange() and long_type
issues are fixed by boost_1_32_0-AMD64.patch.
Maybe these changes can be integrated
in some form in the next version of Boost.
Best regards, Peter.