C++ 在Xcode中使用boost库编译项目时出错

C++ 在Xcode中使用boost库编译项目时出错,c++,xcode,boost,C++,Xcode,Boost,我正在使用通过自制安装的boost,并添加了“usr/local/include”来搜索标题路径,以及“usr/local/lib”来搜索库路径。它包含得很好,但我在编译时遇到以下错误: /usr/local/include/boost/move/unique_ptr.hpp:549:16: Unknown type name 'BOOST_RV_REF_BEG_IF_CXX11' /usr/local/include/boost/move/unique_ptr.hpp:549:42: 'un

我正在使用通过自制安装的boost,并添加了“usr/local/include”来搜索标题路径,以及“usr/local/lib”来搜索库路径。它包含得很好,但我在编译时遇到以下错误:

/usr/local/include/boost/move/unique_ptr.hpp:549:16: Unknown type name 'BOOST_RV_REF_BEG_IF_CXX11'

/usr/local/include/boost/move/unique_ptr.hpp:549:42: 'unique_ptr' cannot be the name of a parameter

/usr/local/include/boost/move/unique_ptr.hpp:549:59: Expected ')'

/usr/local/include/boost/move/unique_ptr.hpp:552:16: Use of undeclared identifier 'u'
以下是boost代码中有问题的行:

   template <class U, class E>
   unique_ptr( BOOST_RV_REF_BEG_IF_CXX11 unique_ptr<U, E> BOOST_RV_REF_END_IF_CXX11 u
      BOOST_MOVE_DOCIGN(BOOST_MOVE_I typename bmupd::enable_up_moveconv_constr<T BOOST_MOVE_I D BOOST_MOVE_I U BOOST_MOVE_I E>::type* =0)
      ) BOOST_NOEXCEPT
      : m_data(u.release(), ::boost::move_if_not_lvalue_reference<E>(u.get_deleter()))
   {
      //If T is not an array type, U derives from T
      //it uses the default deleter and T has no virtual destructor, then you have a problem
      BOOST_STATIC_ASSERT(( !::boost::move_upmu::missing_virtual_destructor
                            <D, typename unique_ptr<U, E>::pointer>::value ));
   }
模板
唯一的(增压器)增压器(增压器)增压器(增压器)增压器(增压器)增压器(增压器)增压器(增压器)增压器(增压器)增压器(增压器)增压器(增压器)增压器(增压器)增压器(增压器)增压器(增压器)增压器
BOOST\u MOVE\u DOCIGN(BOOST\u MOVE\u I typename bmupd::enable\u moveconv\u constr::type*=0)
)增压无例外
:m_数据(u.release(),::boost::move_if_not_lvalue_reference(u.get_deleter()))
{
//如果T不是数组类型,则U派生自T
//它使用默认的deleter,而T没有虚拟析构函数,那么您就有问题了
BOOST\u STATIC\u ASSERT((!::BOOST::move\u upmu::缺少虚拟析构函数
::价值);
}

我出现此错误的原因是我将/usr/local/include添加到“标头搜索路径”中,而不是xcode中的“用户标头搜索路径”。不知道它为什么会导致这个错误,一些东西可能没有被包括在内,但将它添加到两者中修复了它

为了让boost完全工作,我还必须在构建阶段将.dylib(from/usr/local/lib)添加到“linkbinary With Libaries”


Stackoverflow不是任何项目的bug追踪器:您是想向Boost提交bug报告吗?否则,你的问题是什么?