为什么boost编译会失败? 我试图用CLAN编译Boost C++。

为什么boost编译会失败? 我试图用CLAN编译Boost C++。,boost,compilation,clang,boost-build,Boost,Compilation,Clang,Boost Build,./b2 --prefix=~/boost --includedir=~/boost/include --libdir=~/boost/lib toolset=clang cxxflags="-std=c++11 -stdlib=libc++ -isystem ~/libcxx/include/" linkflags="-stdlib=libc++ -L ~/libcxx/lib/" 当我看到日志文件时,它会给出错误提示 Undefined symbols for architecture

./b2 --prefix=~/boost --includedir=~/boost/include --libdir=~/boost/lib toolset=clang cxxflags="-std=c++11 -stdlib=libc++ -isystem ~/libcxx/include/" linkflags="-stdlib=libc++ -L ~/libcxx/lib/"
当我看到日志文件时,它会给出错误提示

 Undefined symbols for architecture x86_64:
 "boost::system::system_category()", referenced from:
  __GLOBAL__I_a in exceptions.o
 "boost::system::generic_category()", referenced from:
  __GLOBAL__I_a in exceptions.o
  ld: symbol(s) not found for architecture x86_64
 clang: error: linker command failed with exit code 1 (use -v to see invocation)

我默认的叮当声是clang-mp-3.3。谁能帮我找出这个问题是什么

在web上搜索错误原因后,我找到了有关使用clang编译boost的解释。我不知道为什么添加define=BOOST\u SYSTEM\u NO\u弃用会使它起作用。请对任何知道它为什么起作用的人发表评论。我当时能够编译,没有错误,但我仍然看到一些警告,但它为我工作了

我使用的默认铃声是(clang-mp-3.3)

$clang-v

clang版本3.3(标签/发行版\u 33/最终版) 目标:x86_64-apple-darwin11.4.2 线程模型:posix

 ./bootstrap.sh --with-toolset=clang --without-libraries=mpi,python,graph_parallel
 ./b2 clean
 ./b2 toolset=clang cxxflags="-std=c++11 -stdlib=libc++"  linkflags="-stdlib=libc++"  define=BOOST_SYSTEM_NO_DEPRECATED

站台是什么?什么是Boost版本?谢谢Igor的评论。你说的站台(对不起)是什么意思?其升幅为1.55。我知道mac darwin内核版本12.4.0Boost 1.55不存在,也许你是说1.54。链接器找不到什么符号?@Igor让我在重新编译后再联系您删除:-isystem~/libcxx/include/和-L~/libcxx/lib/@Igor我已经编辑了链接器错误的问题。这就是你要找的吗。。原因当我尝试删除-isystem~/libcxx/include/和-L~/libcxx/lib/时,错误仍然存在:(