在我尝试回答我自己的问题Clang linker reports "symbol not found", despite 'nm -m' revealing that the name exists in a library that is being linked against时,我发现了一些链接,表明我必须在OS X上构建Boost,以便显式使用Clang并链接到{{1 }} here,here和here。
按照指示的步骤(借助其他谷歌搜索帮助/确认编辑libc++
的过程,将其放在我的主目录中,以及其他必要步骤),我已将以下行添加到我的user-config.jam
档案:
~/user-config.jam
然后我从using clanglibcpp : 11
: "/usr/bin/clang++"
: <cxxflags>"-std=c++11 -stdlib=libc++" <linkflags>"-stdlib=libc++"
;
目录运行./b2
:
$BOOST_ROOT
不幸的是,无论我做什么,我都会收到以下错误:
./b2 toolset=clanglibcpp-11 --with-filesystem variant=release link=static threading=multi
我已确认ERROR: rule "clanglibcpp.init" unknown in module "toolset"
存在于所指示的路径上(确实如此)。我也尝试将上述行添加到/usr/bin/clang++
(没有运气)。我还尝试从boost根目录运行$BOOST_ROOT/tools/build/v2/user-config.jam
,并运行./bootstrap.sh
。没有运气。
我应该怎样做才能让./b2 --clean
中的工具集在OS X上为我的Boost构建生效?