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.