Reputation: 97
I'm trying to use boost in an application in C++ Builder (embarcadero), and I'm getting some very weird errors when including boost/filesystem.hpp and compiling with Clang, and I just can't seem to figure out what is causing it.
The errors look like this:
[CLANG Error] logical_op.hpp(145): unknown type name 'or__rebind'
[CLANG Error] if.hpp(72): unknown type name 'if__rebind'
[CLANG Error] eval_if.hpp(43): unknown type name 'eval_if_rebind'
[CLANG Error] identity.hpp(28): unknown type name 'identity_rebind'
[CLANG Error] identity.hpp(37): unknown type name 'make_identity_rebind'
[CLANG Error] not.hpp(44): unknown type name 'not__rebind'
All these errors occur when the function BOOST_MPL_AUX_LAMBDA_SUPPORT()
is used, and they only seem to occur when using Clang. The code compiles fine with Borlands own compiler.
It happens even if it's a completely new project, and the only line I've added is #include <boost/filesystem.hpp>
.
Edit: I have just tried including <boost/thread.hpp>
instead, and here is a snip of the errors thrown:
[CLANG Error] greg_month.hpp(62): type 'greg_month_rep' (aka 'constrained_value<greg_month_policies>') is not a direct or virtual base of 'boost::gregorian::greg_month'
[CLANG Error] greg_month.hpp(64): type 'greg_month_rep' (aka 'constrained_value<greg_month_policies>') is not a direct or virtual base of 'boost::gregorian::greg_month'
[CLANG Error] greg_month.hpp(68): use of undeclared identifier 'value_'
[CLANG Error] greg_month.hpp(69): use of undeclared identifier 'value_'
Kindly tell me if I need to include more information.
Is there any compiler flags I need to set, or something else I could've missed?
Thanks in advance.
Upvotes: 1
Views: 1451
Reputation: 968
You have to change $CG_BOOST_ROOT to $CG_64_BOOST_ROOT for using BCC32C (CLANG) to get the shipped BOOST 1.55 instead of 1.39:
read here: http://docwiki.embarcadero.com/RADStudio/Seattle/en/Boost
Upvotes: 1