id summary reporter owner description type status milestone component version severity resolution keywords cc 3378 interlocked.hpp won't compile blandwa Peter Dimov "Suddenly and for no discernible reason, merely including any (I assume) boost header file produces the compiler errors below. I was including only boost/math/distributions/binomial.hpp when the problem arose. I tested #include alone as well, producing the same errors. Nothing in my own code changed (backup copies that compiled when they were saved won't compile now). I tried rerunning the boostpro installer, but it had no effect. I'm using Visual Studio 2008. 1>C:\Program Files\boost\boost_1_39\boost/detail/interlocked.hpp(57) : error C2373: '_InterlockedIncrement' : redefinition; different type modifiers 1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\memory(993) : see declaration of '_InterlockedIncrement' 1>C:\Program Files\boost\boost_1_39\boost/detail/interlocked.hpp(58) : error C2373: '_InterlockedDecrement' : redefinition; different type modifiers 1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\memory(994) : see declaration of '_InterlockedDecrement' 1>C:\Program Files\boost\boost_1_39\boost/detail/interlocked.hpp(59) : error C2373: '_InterlockedCompareExchange' : redefinition; different type modifiers 1> c:\Program Files\Microsoft Visual Studio 9.0\VC\include\memory(995) : see declaration of '_InterlockedCompareExchange' 1>C:\Program Files\boost\boost_1_39\boost/smart_ptr/detail/sp_counted_base_w32.hpp(73) : error C3861: '_InterlockedIncrement': identifier not found 1>C:\Program Files\boost\boost_1_39\boost/smart_ptr/detail/sp_counted_base_w32.hpp(92) : error C2446: '==' : no conversion from 'long' to 'long (__clrcall *)(volatile long *,long,long)' 1>C:\Program Files\boost\boost_1_39\boost/smart_ptr/detail/sp_counted_base_w32.hpp(92) : error C2040: '==' : 'long (__clrcall *)(volatile long *,long,long)' differs in levels of indirection from 'long' 1>C:\Program Files\boost\boost_1_39\boost/smart_ptr/detail/sp_counted_base_w32.hpp(92) : error C3861: '_InterlockedCompareExchange': identifier not found 1>C:\Program Files\boost\boost_1_39\boost/smart_ptr/detail/sp_counted_base_w32.hpp(100) : error C3861: '_InterlockedDecrement': identifier not found 1>C:\Program Files\boost\boost_1_39\boost/smart_ptr/detail/sp_counted_base_w32.hpp(109) : error C3861: '_InterlockedIncrement': identifier not found 1>C:\Program Files\boost\boost_1_39\boost/smart_ptr/detail/sp_counted_base_w32.hpp(114) : error C3861: '_InterlockedDecrement': identifier not found" Bugs closed Boost 1.41.0 math Boost 1.39.0 Showstopper fixed