
Hello! I'm having a problem with using Boost 1.35 on Visual C++ 2003 SP1. Take a look at the following very simple program: ------------------------------------ #include "stdafx.h" #include <boost/interprocess/sync/interprocess_upgradable_mutex.hpp> int _tmain(int argc, _TCHAR* argv[]) { int i = 0; unsigned int j = 2; j < i; return 0; } ------------------------------------ It does nothing, just emits a compiler warning. Unfortunately, this warning is followed by lots of meaningless messages related to the included Boost header: ------------------------------------ BoostTest2.cpp c:\BoostTest2\BoostTest2.cpp(11) : warning C4018: '<' : signed/unsigned mismatch c:\Program Files\boost\boost_1_35_0\boost\interprocess\sync\interprocess_upgradable_mut ex.hpp(621) : see reference to class template instantiation 'boost::interprocess::upgradable_lock<M>' being compiled with [ M=boost::interprocess::interprocess_mutex ] c:\Program Files\boost\boost_1_35_0\boost\interprocess\sync\interprocess_upgradable_mut ex.hpp(621) : see reference to class template instantiation 'boost::interprocess::upgradable_lock<M>' being compiled with [ M=boost::interprocess::interprocess_mutex ] ------------------------------------ If I remove #include <boost..., the extra messages go away. It looks to me like compiler bug. The exe produced is probably ok, but the amount of spam in output window makes using Boost very cumbersome. Is there any way to make these messages go away?