Boost logo

Boost Users :

From: p.klotz_at_[hidden]
Date: 2005-02-21 07:14:09


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.






Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net