|
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