LLVM + Clang + Libcxx + Libcxxabi 工具链编译

LLVM和Clang工具链的生成配置文件写得比较搓,所以略微麻烦,另外这个脚本没有经过多环境测试,不保证在其他Linux发行版里正常使用。

如果第一次执行出现安装失败,可以再执行一次。llvm的安装脚本问题多多

编译安装 LLVM + Clang 3.5

准备环境及依赖项

  1. cmake
  2. Python
  3. python-devel/python-dev
  4. swig
  5. libedit/libedit-devel/libedit-dev
  6. gtest, gtest-devel/gtest-dev(lld依赖项)
  7. GCC 4.7 or higher

我编译的环境

系统:

CentOS 6.2 & CentOS 7.0

系统库:

详情参见 llvm官网

编译的依赖库:

  • libc++ 3.5.1
  • libc++abi 3.5.1

默认编译目标:

  • llvm 3.5.1
  • clang 3.5.1
  • lldb 3.5.1

注:

  • (所有的库都会被安装在$PREFEX_DIR里)

额外建议:

  • 如果增加编译组件,比如已装有gtest要编译lld,使用命令./install.sh -t +lld

History:

  • 2014-09-12 Created
  • 2014-09-15 Tested under CentOS 7.0
  • 2015-03-10 更新到 llvm 3.5.1

参考文献

  1. llvm官网
  2. Linux下编译clang、libcxx及其相关库——C++11环境搭建
  3. linux下编译clang, libc++, libc++abi,以及第二遍自举编译

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏游戏杂谈

node.js使用mysql模块的坑

  之前用node.js写的订餐系统,很容易挂掉,一直也没想去解决它。今天看了一下,试了试,原因是在连接数据库的时候没有对error事件进行处理,导致程序一直挂...

1623
来自专栏我是攻城师

理解Vmware虚拟机的网络模式

命名方式VMnet0,VMnet1,VMnet......以此类推,默认情况下在vm里面已经有一些映射如下:

47610
来自专栏CSDN技术头条

编译器LLVM3.8发布

LLVM编译器发布3.8版本了,主要是对以前版本各项性能的优化,以及对之前版本的升级。最新的发布日志可以查看这里。 这次发布的主要变化有: 这次版本要求...

1877
来自专栏丑胖侠

maven配置文件不一致导致构建失败

问题 在使用maven构建项目时出现一个神奇的问题。通过Intellij IDEA的Maven Projects中进行构建,没问题,能够成功打包项目。 可是...

2037
来自专栏IT开发技术与工作效率

东软邮箱设置 NeuSoft OutLook

9114
来自专栏张戈的专栏

Nginx-helper纯代码版,文章评论发布自动清理Fastcgi缓存

摘 要 张戈博客之前分享过Nginx开启fastcgi静态缓存加速的教程,文中也提到了WordPress对应的最佳配套插件:Nginx-Helper。本文分享...

3897
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Pydio托管文件共享服务器

随着云的采用增加,越来越多的数据被远程存储。从音乐到图片再到个人文档,很多人都将文件上传到他们不管理的服务器上。如果您希望将文件保存在您控制的服务器上,则可以使...

3610
来自专栏运维

系统重启后ngix reload不生效原因分析

这是一种比较少见,困扰我很久的问题,虽然这个问题很简单,但是找到根本原因还是费了不少时间,现在把分析过程分享如下。

872
来自专栏FreeBuf

使用CMSTP绕过AppLocker的方法介绍

CMSTP是一个与Microsoft连接管理器配置文件安装程序关联的二进制文件。它接受INF文件,这些文件可以通过恶意命令武器化,以脚本(SCT)和DLL的形式...

1023
来自专栏积累沉淀

VMware中三种网络连接的区别

VMware中三种网络连接的区别 1、概述 2、bridged(桥接模式) 3、NAT(网络地址转换模式) 4、host-only(主机模式) 5、replic...

2008

扫码关注云+社区

领取腾讯云代金券