http://llvm.org/docs/GettingStarted.html

一、下载安装 cmake >=3.4.3

yum install gcc gcc-c++
curl -O http://www.cmake.org/files/v3.9/cmake-3.9.2.tar.gz
## git clone https://github.com/Kitware/CMake.git ##cmake 官网下载会很慢,可以考虑从 gitbub 上拉取源码
export PATH=$PATH:/opt/cmake/bin
tar -xf cmake-3.9..tar.gz
cd cmake-3.9.
./bootstrap --prefix=/opt/cmake
make && make install

二、下载 llvm 源码(可选,YCM 会自动下载通用库)

cd /tmp
for x in "http://releases.llvm.org/4.0.0/llvm-4.0.0.src.tar.xz
http://releases.llvm.org/4.0.0/cfe-4.0.0.src.tar.xz
http://releases.llvm.org/4.0.0/compiler-rt-4.0.0.src.tar.xz
http://releases.llvm.org/4.0.0/clang-tools-extra-4.0.0.src.tar.xz
http://releases.llvm.org/4.0.0/libcxx-4.0.0.src.tar.xz
http://releases.llvm.org/4.0.0/libcxxabi-4.0.0.src.tar.xz"; do
wget $x
done cd $HOME
mkdir llvm_source && cd llvm_source
tar -xf /tmp/llvm-4.0.0.src.tar.xz
mv llvm-4.0.0.src llvm

cd llvm/tools
tar -xf /tmp/cfe-4.0.0.src.tar.xz
mv cfe-4.0.0.src clang

cd clang/tools
tar -xf /tmp/clang-tools-extra-4.0.0.src.tar.xz
mv clang-tools-extra-4.0.0.src clang-tools-extra

cd ../../../projects
tar -xf /tmp/compiler-rt-4.0.0.src.tar.xz
mv compiler-rt-4.0.0.src compiler-rt
tar -xf /tmp/libcxx-4.0.0.src.tar.xz
mv libcxx-4.0.0.src libcxx
tar -xf /tmp/libcxxabi-4.0.0.src.tar.xz
mv libcxxabi-4.0.0.src libcxxabi

三、编译/安装

mkdir llvm_build && cd llvm_build

cmake -G "Unix Makefiles" \
-D CMAKE_BUILD_TYPE=Release \
-D LLVM_TARGETS_TO_BUILD=host \
-D CMAKE_INSTALL_PREFIX=/opt/llvm \
. \
../llvm

make && make install

tips:

CentOS 6 升级 gcc-4.8

https://www.cnblogs.com/imzye/p/6216482.html

拾遗:YouCompleteMe 前传——编译安装 llvm + clang的更多相关文章

  1. Linux c++ vim环境搭建系列(2)——Ubuntu18.04.4编译安装llvm clang

    2. 源码编译安装llvm clang 参考网址: https://llvhttps

  2. Centos 7 编译安装llvm 8.0.0

    参考连接:https://www.cnblogs.com/BinBinStory/p/7499527.html https://blog.csdn.net/llwy1428/article/detai ...

  3. 编译安装 LLVM

    本文记录 LLVM 的安装过程,比较繁琐,使用 LLVM 3.4 操作系统:CentOS 6.6 64 位 1. 下载需要的软件 相关软件下载地址:http://llvm.org/releases/d ...

  4. Debian/Ubuntu Linux 下安装LLVM/Clang 编译器

    第一步,首先编辑 /etc/apt/sources.list,增加下面源: (加入源后务必执行apt-get update,假设有错误提示,先执行第二步,然后apt-get update) Debia ...

  5. Win10子系统Ubuntu安装llvm+clang

    https://apt.llvm.org/ 首先 然后 再然后修改/etc/apt/sources.list,添加下面的东西 然后 参考: https://blog.kowalczyk.info/ar ...

  6. llvm+clang编译安装

    最近一段时间在llvm+clang上做一些东西,所以顺便将自己如何编译安装llvm+clang写了篇文章发在这里,希望能帮助刚接触llvm+clang的童鞋少走一些弯路(我刚接触的时候为了编译安装这个 ...

  7. Sublime Text3 & MinGW & LLVM CLang 安装配置C-C++编译环境

    Sublime Text是一款强大的跨平台代码编辑器,小巧而且丰富实用的功能是Visual Studio不能比拟的,但是编译运行是一个软肋,本文通过在sublime中配置g++编译器实现程序的编译功能 ...

  8. CentOS 7 编译安装clang+llvm

    天在CentOS上将最新版本的LLVM套件(LLVM,Clang和Libc++)编译安装好了,中间遇到了不少问题.虽然已经有很多博客介绍如何编译安装LLVM了,但是根据我自己亲身体验的情况来看,还是有 ...

  9. CentOS 6.4 编译安装LLVM3.3,Clang和Libc++

    LLVM的最新版本3.3终于在6月17日发布了,按之前的计划6月5日就应该发布了,不过毕竟没有太晚,赶在VS2013 preview(6月26日微软Build大会)之前出来了.加上之前gcc4.8.1 ...

随机推荐

  1. django 重写 mysql 连接库实现连接池

    django 重写 mysql 连接库实现连接池 问题 django 项目使用 gunicorn + gevent 部署,并设置 CONN_MAX_AGE 会导致 mysql 数据库连接数飙升,在高并 ...

  2. 转 python3 读取 ini配置文件

    在代码中经常会通过ini文件来配置一些常修改的配置.下面通过一个实例来看下如何写入.读取ini配置文件. 需要的配置文件是: 1 [path] 2 back_dir = /Users/abc/Pych ...

  3. JPA单向和双向关系

    单向关系 @JoinColumn 双向关系 @OneToMany @ManyToMany mappedBy

  4. 12-python基础—python3中的reduce()

    在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 functools 模块里,需要通过引入 functools 模块来调用 reduce() 函数: from ...

  5. 【转载】sublime text3 全攻略

    给个链接:http://www.w3cfuns.com/blog-5466732-5405668.html 等作者更新完后自己再整理

  6. ubuntu 安装pip并修改为阿里云pip源

    0.sudo su1.安装pipapt-get install python-pip python-dev build-essentialpip install --upgrade pip pip i ...

  7. memcache常用操作

    Command Description Example get 读取键值 get mykey set 设置新键值 set mykey 0 60 5 add 新增键值 add newkey 0 60 5 ...

  8. php 学习一 变量的定义

    //php有如下几种数据类型 // false true boolean类型 //integer int 整数 //float 浮点数就是小数 //string 字符串 //string null 空 ...

  9. pip install RISE报错解决

    ERROR: Cannot uninstall 'tornado' ERROR: Cannot uninstall 'tornado'. It is a distutils installed pro ...

  10. php操作redis--有序集合(sorted set)篇

    常用函数:zAdd,zRange,zRem,zCard等. 应用场景:类似集合,可以提供一个优先级的参数来为成员排序,如:分数 连接 $redis = new Redis(); $redis-> ...