使用clang++/libc++删除Boost libstdc++依赖



这个问题的答案是如何编译/链接Boost与clang++/libc++?如果要用clang++libc++构建Boost,则应执行以下操作:

./b2 clean
./b2 toolset=clang cxxflags="-stdlib=libc++" linkflags="-stdlib=libc++"

我在Scientific Linux 6.4 x86_64主机上测试了上面的技巧,它"基本上"可以构建完整的Boost 1_53_0发行版,包括clang++ 3.3svlibc++ 3.3svn。我说大部分,因为我真的很喜欢删除所有的libstdc++依赖。

然而,以下内容:

  • libboost_graph
  • libboost_locale
  • libboost_regex

仍然显示libstdc++的依赖关系(ldd的输出使它非常明显)。我想知道一个好方法来删除这样的,并感谢任何提示。

我知道怎么做了。感谢@Howard Hinnant提到libc++abi。在RTFM http://libcxx.llvm.org/之后,构建没有任何libstdc++依赖的整个boost库是很简单的。是的,我所要做的就是转到RTFM!

最新更新