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_fwd.hpp(24): warning C4002: too many actual parameters for macro 'trunc'
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.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_fwd.hpp(24): error C2226: syntax error : unexpected type 'T'
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.hpp(24): error C2988: unrecognizable template declaration/definition
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.hpp(24): error C2059: syntax error : '-'
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.hpp(24): error C2059: syntax error : ')'
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.hpp(26): error C2065: 'T' : undeclared identifier
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.hpp(26): error C2988: unrecognizable template declaration/definition
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.hpp(26): error C2059: syntax error : '-'
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.hpp(26): error C2059: syntax error : ')'
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.hpp(42): warning C4002: too many actual parameters for macro 'round'
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.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_fwd.hpp(42): error C2226: syntax error : unexpected type 'T'
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.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_fwd.hpp(42): error C2143: syntax error : missing ';' before '+'
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.hpp(42): error C2059: syntax error : ')'
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.hpp(42): error C2059: syntax error : ')'
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.hpp(44): error C2065: 'T' : undeclared identifier
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.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_fwd.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_fwd.hpp(44): error C2143: syntax error : missing ';' before '+'
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.hpp(44): error C2059: syntax error : ')'
1>D:\RootReferences\boost_1_55_0\boost/math/special_functions/detail/round_fwd.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