2013-04-04 54 views
7

回答这个问题How to compile/link Boost with clang++/libc++?国建立Boostclang++libc++,下面应该做的:用clang ++/libC++删除Boost libstdC++依赖项?

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

我测试了科学的Linux 6.4 x86_64的主机上上述技巧和它的作品“大多是”建立全提升1_53_0分配,clang++ 3.3svlibc++ 3.3svn。我主要说,因为我真的很喜欢删除所有libstdc++依赖。

尽管如此,以下内容:

  • libboost_graph
  • libboost_locale
  • libboost_regex

仍显示libstdc++依赖关系(在ldd输出使得它相当明显)。我想知道一个很好的方法来消除这种情况,并会感激任何提示。

+0

你基本上是想静态链接libstdC++吗?或者是其他东西? – alrikai 2013-04-04 19:30:14

+3

在Linux上,您可能会链接到libstdC++以获得低级libsupC++支持,但我不确定这一理论。有非GPL替代品,搜索libC++ abi或libcxxabi。 – 2013-04-04 20:08:35

+0

@alrikai,其实我想要做的是静态链接libC++,这样我就可以在运行较旧的Linux的系统上运行在C++ 11中实现的软件,例如, RHEL 5.x,6.x. – user183394 2013-04-04 21:58:06

回答

-3

我发现如何去做。感谢@Howard Hinnant提及libc++abi。在RTFM http://libcxx.llvm.org/之后,构建完整的boost库不受任何libstdc++依赖关系的影响是微不足道的。是的,我所要做的就是RTFM!

+12

好吧,我们很高兴你找到了解决方案,但是这种“RTFM”的一般答案实际上并不能帮助那些需要更多帮助的人。你想至少指出正确的方向(具体的,不是一般的,链接,一节看看等)? – csotiriou 2013-09-28 09:09:54

+0

是的,无用的答案,-1 – paulm 2016-11-03 11:29:08