
Hi, I'm trying to change our boost version from 1.38 to 1.55, and am getting these compilation errors: 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(24): warning C4002: too many actual parameters for macro 'trunc' 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(24): error C2027: use of undefined type 'boost::math::tools::promote_args' 1> D:\RootReferences\boost_1_55_0\boost/math/tools/promotion.hpp(120) : see declaration of 'boost::math::tools::promote_args' 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(24): error C2226: syntax error : unexpected type 'T' 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(24): error C2988: unrecognizable template declaration/definition 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(24): error C2059: syntax error : '-' 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(24): error C2059: syntax error : ')' 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(26): error C2065: 'T' : undeclared identifier 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(26): error C2988: unrecognizable template declaration/definition 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(26): error C2059: syntax error : '-' 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(26): error C2059: syntax error : ')' 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(42): warning C4002: too many actual parameters for macro 'round' 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(42): error C2027: use of undefined type 'boost::math::tools::promote_args' 1> D:\RootReferences\boost_1_55_0\boost/math/tools/promotion.hpp(120) : see declaration of 'boost::math::tools::promote_args' 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(42): error C2226: syntax error : unexpected type 'T' 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(42): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(42): error C2143: syntax error : missing ';' before '+' 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(42): error C2059: syntax error : ')' 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(42): error C2059: syntax error : ')' 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(44): error C2065: 'T' : undeclared identifier 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(44): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(44): error C2374: 'boost::math::floor' : redefinition; multiple initialization 1> D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd .hpp(42) : see declaration of 'boost::math::floor' 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(44): error C2143: syntax error : missing ';' before '+' 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(44): error C2059: syntax error : ')' 1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_f wd.hpp(44): error C2059: syntax error : ')' The code doesn't matter as the errors occur as soon as I have an include for lexical_cast, i.e. #include <boost/lexical_cast.hpp> This is using Visual Studio 2010. Any ideas as to what the problem is? Thanks, Normand