Hi, Here some details about building boost under mingw-w64. I am using only "threads" and "date_time" libraries from boost and I started to building boost by command: bjam --prefix=c:\boost toolset=gcc address-model=64 variant=debug,release link=static,shared threading=multi --with-thread --with-date_time install and I got an error: ./boost/thread/win32/basic_ timed_mutex.hpp:152: error: cast from 'void*' to 'long int' loses precision This caused by the macros BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER defined in interlocked.hpp. This macros has several definitions that depends on building defines. So I add BOOST_USE_WINDOWS_H define into the building command: bjam --prefix=c:\boost toolset=gcc address-model=64 variant=debug,release link=static,shared threading=multi --with-thread --with-date_time define=BOOST_USE_WINDOWS_H install add boost was compiled successful. The question is. Is it possible to build boost under mingw-w64 without BOOST_USE_WINDOWS_H define?