Compilation errors after upgrading from 1.38 to 1.55
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
AMDG On 04/04/2014 12:58 PM, Normand Mongeau wrote:
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'
<snip> Any ideas as to what the problem is?
Why is trunc defined as a macro? In VS2010, the cmath #defines are guarded by #ifndef __cplusplus In Christ, Steven Watanabe
Oh. Yes. I didn't see that. OK we have (we had) a name collision, it's now solved. Thank you -----Original Message----- From: Boost-users [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Steven Watanabe Sent: vendredi, 4 avril 2014 16:49 To: boost-users@lists.boost.org Subject: Re: [Boost-users] Compilation errors after upgrading from 1.38 to 1.55 AMDG On 04/04/2014 12:58 PM, Normand Mongeau wrote:
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/r 1>ound_f wd.hpp(24): warning C4002: too many actual parameters for macro 'trunc'
<snip> Any ideas as to what the problem is?
Why is trunc defined as a macro? In VS2010, the cmath #defines are guarded by #ifndef __cplusplus In Christ, Steven Watanabe _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (2)
-
Normand Mongeau
-
Steven Watanabe