I am using boost for the first time and not much aware of whets going on. I am including serialization archive hpps and it is including these lines eventually somewhere inside namespace detail{ #if !BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x564) ) using namespace boost::detail; #endif I am using Visual Studio and MSVC compiler and this using directive is causing me problems. There is a CRITICAL_SECTION defined in boos::detail which conflicts with standard windows CRITICAL_SECTION. The thing am not able to understand is how is this Workaround works ? If this workaround checks for BORLANDC then shouldn't it just place that code for Borland compiler? Please help. Is there any other macro I can define or undefine that will get rid of this. Thanks Shanti