Я пытаюсь использовать boost в приложении в C++ Builder (embarcadero), и я получаю некоторые очень странные ошибки, когда включаю boost/filesystem.hpp и компилирую с Clang, и я просто не может понять, что вызывает его.Ошибки при компиляции Boost with Clang
Ошибки выглядеть следующим образом:
[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'
Все эти ошибки возникают, когда функция BOOST_MPL_AUX_LAMBDA_SUPPORT()
используется, и они, кажется, только возникают при использовании Clang. Код компилируется в собственном компиляторе Borlands.
Это происходит, даже если это совершенно новый проект, и единственная строка, которую я добавил, - #include <boost/filesystem.hpp>
.
Edit: Я просто попытался включая <boost/thread.hpp>
вместо этого, и вот надрез ошибок выброшенных:
[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_'
Пожалуйста, скажите мне, если мне нужно, чтобы включить больше информации.
Есть ли какие-либо флагов компилятора, которые мне нужно установить, или что-то еще, что я мог пропустить?
Заранее спасибо.
Вы можете разместить [код, иллюстрирующий проблему] (https://stackoverflow.com/help/mcve)? –
Спасибо за ваш комментарий. Это происходит даже тогда, когда я просто создаю пустой проект и включаю boost/filesystem.hpp, хотя fx boost/thread/once.hpp отлично работает. –
Опубликовать командную строку clang, которую генерирует ваша среда IDE. – rhashimoto