在Linux上为clang构建libc ++的制裁方法是什么?

Ste*_* Lu 9 c++ linux llvm clang libc++

编辑/更新/注意:让clang使用libstdc ++.到目前为止,我一直在为我工作.

===============================

在过去,我已经能够通过做某事来取得成功cmake,但刚才我在项目树builditlib目录中发现了一个脚本http://llvm.org/svn/llvm-project/libcxx/trunk.

这个buildit脚本似乎不会让使用libsupc++这是什么cmake我采取的办法之前使用.例如,本指南显示了一个cmake生成makefile的咒语libc++,它将能够处理编译和安装.

我的问题是这些生产LLVM的不同方法之间的区别是什么libc++?应该使用哪种方法?他们会表现得不一样吗?

buildit脚本似乎没有提供任何安装帮助.有没有方向可以正确安装库?使用我之前使用cmake构建的libc ++,我必须始终添加-lc++到链接器标志(和路径-L),这在我的OS X makefile中是不必要的.

rub*_*nvb 3

libc++ 网站很好地概述了构建 libc++ 的可能方法。

我建议使用 CMake + libc++abi

另请参阅Arch Linux User Repository 构建脚本,它使用了该buildit脚本。我从中安装了 libc++ 并通过使用成功地将它与 Arch Linux Clang 包一起使用

clang++ -std=c++11 -stdlib=libc++ -lc++abi
Run Code Online (Sandbox Code Playgroud)

  • 好吧,我使用的是 CentOS 6.4,这使得让东西工作起来比平时稍微困难一些,因为很多东西都是......旧的。除了 4.4.7 目录之外,我还必须包含额外的路径 `/usr/include/c++/4.4.4;/usr/include/c++/4.4.4/x86_64-redhat-linux`,并复制 `cxxabi在“cmake”调用成功之前,将 -forced.h(位于“4.4.4/”中)复制到“bits/cxxabi_forced.h”。这太痛苦了!这将进入我的机器初始化脚本,所以我会没事一段时间。但有人需要想出一些不那么痛苦的东西,因为“cmake”并没有做它唯一的工作。 (3认同)