环境配置:Ubuntu-16.04
1) 下载依赖
sudo apt-get install cmake
sudo apt-get install xz-utils
sudo apt-get install build-essential
sudo apt-get install wget
2) 下载源码 && 解压
# 下载
wget https://github.com/llvm/llvm-project/releases/download/llvmorg-8.0.1/llvm-8.0.1.src.tar.xz
wget https://github.com/llvm/llvm-project/releases/download/llvmorg-8.0.1/cfe-8.0.1.src.tar.xz# 解压缩
tar xvf llvm-8.0.1.src.tar.xz
mv llvm-8.0.1.src llvm
tar xvf cfe-8.0.1.src.tar.xz
mv cfe-8.0.1.src llvm/tools/clang
3) 编译 && 安装

这里在内存及硬盘充足的条件下,推荐Debug配置的编译,这更能让你体验"较大的项目"的编译过程。否则请采用Release配置的编译

强烈推荐release,因为debug配置会占用90G空间,而release只需要10G

mkdir llvm-build && cd llvm-build
# Release
cmake ../llvm -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`cd .. && pwd`/llvm-install
# Debug
cmake ../llvm -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=`cd .. && pwd`/llvm-install
# Install
make install
4) 配置环境变量
sudo gedit ~/.profile(or .bashrc)

在打开的文件末尾加上下面的内容,保存修改并重启虚拟机。

export PATH="$HOME/llvm-8.0.1/llvm-install/bin:$PATH"

在终端输入llvm-config --version,出现8.0.1表示编译并安装成功。

5) 新建gcd.c
int gcd (int u, int v) { /* calculate the gcd of u and v */if (v == 0) return u;else return gcd(v, u - u / v * v); /* v,u-u/v*v is equals to u mod v*/
}
int main() {int x; int y; int temp;x = 72;y = 18;if (x<y) {temp = x;x = y;y = temp;}return gcd(x,y);
}
6) 测试
$ clang -S -emit-llvm gcd.c
$ lli gcd.ll
$ echo $?

输出结果应为18

linux环境下编译llvm源码相关推荐

  1. linux环境下编译Qt源码

    环境配置:Ubuntu-16.04 1) 下载源码 在官方网站:http://download.qt.io/archive/qt/5.12/5.12.5/single/上下载qt-everywhere ...

  2. Linux环境下Arm端源码编译OpenCV+ncnn目标检测模型实例运行调试完整实践记录

    今天需要在嵌入式设备端运行C的程序,里面有依赖OpenCV的部分,这就需要编译安装好OpenCV才行,这个对于我来说还是比较陌生的,我很少用C,所以这里面也没少折腾,一路上遇上了很多的报错,这里我将完 ...

  3. NDK实践(一)在linux环境下编译ffmpe

    系列文章目录: NDK实践(一)在linux环境下编译ffmpe NDK实践(二)将编译的ffmpeg静态库集成到Android工程 最近开始接触学习ndk开发,本着边学习边实践的原则,计划完成视频编 ...

  4. 从零开始,手把手教你如何在Ubuntu下编译VLC-Android源码

    前言 公司项目中使用的libvlcjni.so库文件,有点老,对Android 6.0+系统兼容性太差了,当程序运行在Android6.0+系统上时,回弹出警告框,提示libvlcjni.so:tex ...

  5. linux环境下编译部署php生产环境

    linux环境下编译部署php生产环境 版本控制 php:7.2.4 nginx:1.9.9 部分插件版本 xlswriter:1.3.3.2 redis:3.1.3 一.安装php 1.安装依赖(之 ...

  6. WINDOWS 下编译 ffmpeg 源码总结

    WINDOWS 下编译 ffmpeg 源码,有两种方式:VC.GCC 1.VC 编译:   https://github.com/ShiftMediaProject/FFVS-Project-Gene ...

  7. Win7下编译mosquitto源码

    在windows下编译mosquitto源码使用的工具包括: 1.visual studio 2010(用vs .net 2003的编译器时cmake会提示未识别的c或c++编译器) 2.cmake ...

  8. 在CentOS下编译VLC源码

    在CentOS下编译VLC源码 一.下载VLC源码 二.VLC编译与安装 1.编译与安装 2.库文件 3.头文件 三.报错解决 1.configure: error: Could not find l ...

  9. win7下编译python源码

    win7下编译python源码 下载源码: 打开网页:https://www.python.org/downloads/release/python-2710/ 下载完成后解压即可 查看文档: 其实最 ...

最新文章

  1. 苹果外包爆料:你手机里的Siri,听到了嘿嘿嘿的声音
  2. 行业「趋轻」,尚美“共创品牌”推动酒店业进入春天
  3. 开篇词:中文自然语言处理——未来数据领域的珠穆朗玛峰
  4. WINDOW下,node.js的安装
  5. 使用CDN引用jQuery
  6. Alibaba之MySQL宝典_Alibaba之MySQL宝典流出!极致经典,堪称行业天花板
  7. qt制作位图led点阵_LED显示屏知识详细讲解
  8. 2012 国庆中秋黄金周流水帐
  9. 自学-Linux-老男孩Linux77期-day2
  10. 航拍全景拍摄教程,如何制作航拍全景?
  11. pandas 学习task08文本数据
  12. windows启动tomcat乱码问题
  13. 人脸识别技术入驻了哪些行业
  14. 对OSGB倾斜摄影数据进行范围裁剪
  15. 阿里云服务器被入侵执行MoneroOcean(门罗币)挖矿脚本
  16. 视频镜头分割与关键帧提取
  17. mysql 存储过程 动态表名
  18. Java 中的阻塞队列
  19. 苹果手机如何压缩文件?教你一招
  20. 缺陷管理工具Jira安装参考

热门文章

  1. as3 字符处理函数
  2. java对象模型 指令_JVM-Java内存模型-20200217(示例代码)
  3. bitcount java_Java Long bitCount()方法
  4. python倒三角形_python写个三角形的问题
  5. matlab百分制到5分制的转换,绩点换算百分制(绩点5分制百分对照表)
  6. ip伪装服务器_亚马逊测评还能做吗亚马逊静态ip测评
  7. oracle 主键自增函数_Oracle数据库中创建自增主键的实例教程
  8. java entrypoint_java – 有时只调用AuthenticationEntryPoint
  9. python网络爬虫学习笔记(二):爬虫基本概述
  10. CUDA——Windows上CUDA的安装教程