Le 07/09/13 12:33, Frédéric Bron a écrit :
1. in both cases, the following variables are undefined: WIN32 __CYGWIN__ MINGW64 _M_IA64 BOOST_MSVC BOOST_INTEL_WIN _WIN32_WCE _MSC_VER
2. in both cases, the following variables are defined with value 1: _WIN32 __WIN32
3. variable _M_AMD64 is undefined with i686-w64-mingw32-g++ and defined with value 100 with x86_64-w64-mingw32-g++.
Does this help? In particular, is it normal that _WIN32 and __WIN32 are defined when targetting win64? Is it normal that MINGW64 is always undefined although I use a W64 compiler?
I suspect you mean __MINGW64__.
If not. Could you check if __MINGW64__ is defined? sorry, you're right __MINGW64__ is used in the code and it is undefined with i686-w64-mingw32-g++ and defined and equal to 1 with x86_64-w64-mingw32-g++.
I have no idea why this was added (https://svn.boost.org/trac/boost/changeset/70383). Could you try commenting so that #define BOOST_INTERLOCKED_IMPORT __declspec(dllimport) ? Could some one clarify why this was needed? Best, Vicente