linux环境下编译llvm源码
环境配置: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源码相关推荐
- linux环境下编译Qt源码
环境配置:Ubuntu-16.04 1) 下载源码 在官方网站:http://download.qt.io/archive/qt/5.12/5.12.5/single/上下载qt-everywhere ...
- Linux环境下Arm端源码编译OpenCV+ncnn目标检测模型实例运行调试完整实践记录
今天需要在嵌入式设备端运行C的程序,里面有依赖OpenCV的部分,这就需要编译安装好OpenCV才行,这个对于我来说还是比较陌生的,我很少用C,所以这里面也没少折腾,一路上遇上了很多的报错,这里我将完 ...
- NDK实践(一)在linux环境下编译ffmpe
系列文章目录: NDK实践(一)在linux环境下编译ffmpe NDK实践(二)将编译的ffmpeg静态库集成到Android工程 最近开始接触学习ndk开发,本着边学习边实践的原则,计划完成视频编 ...
- 从零开始,手把手教你如何在Ubuntu下编译VLC-Android源码
前言 公司项目中使用的libvlcjni.so库文件,有点老,对Android 6.0+系统兼容性太差了,当程序运行在Android6.0+系统上时,回弹出警告框,提示libvlcjni.so:tex ...
- linux环境下编译部署php生产环境
linux环境下编译部署php生产环境 版本控制 php:7.2.4 nginx:1.9.9 部分插件版本 xlswriter:1.3.3.2 redis:3.1.3 一.安装php 1.安装依赖(之 ...
- WINDOWS 下编译 ffmpeg 源码总结
WINDOWS 下编译 ffmpeg 源码,有两种方式:VC.GCC 1.VC 编译: https://github.com/ShiftMediaProject/FFVS-Project-Gene ...
- Win7下编译mosquitto源码
在windows下编译mosquitto源码使用的工具包括: 1.visual studio 2010(用vs .net 2003的编译器时cmake会提示未识别的c或c++编译器) 2.cmake ...
- 在CentOS下编译VLC源码
在CentOS下编译VLC源码 一.下载VLC源码 二.VLC编译与安装 1.编译与安装 2.库文件 3.头文件 三.报错解决 1.configure: error: Could not find l ...
- win7下编译python源码
win7下编译python源码 下载源码: 打开网页:https://www.python.org/downloads/release/python-2710/ 下载完成后解压即可 查看文档: 其实最 ...
最新文章
- 苹果外包爆料:你手机里的Siri,听到了嘿嘿嘿的声音
- 行业「趋轻」,尚美“共创品牌”推动酒店业进入春天
- 开篇词:中文自然语言处理——未来数据领域的珠穆朗玛峰
- WINDOW下,node.js的安装
- 使用CDN引用jQuery
- Alibaba之MySQL宝典_Alibaba之MySQL宝典流出!极致经典,堪称行业天花板
- qt制作位图led点阵_LED显示屏知识详细讲解
- 2012 国庆中秋黄金周流水帐
- 自学-Linux-老男孩Linux77期-day2
- 航拍全景拍摄教程,如何制作航拍全景?
- pandas 学习task08文本数据
- windows启动tomcat乱码问题
- 人脸识别技术入驻了哪些行业
- 对OSGB倾斜摄影数据进行范围裁剪
- 阿里云服务器被入侵执行MoneroOcean(门罗币)挖矿脚本
- 视频镜头分割与关键帧提取
- mysql 存储过程 动态表名
- Java 中的阻塞队列
- 苹果手机如何压缩文件?教你一招
- 缺陷管理工具Jira安装参考
热门文章
- as3 字符处理函数
- java对象模型 指令_JVM-Java内存模型-20200217(示例代码)
- bitcount java_Java Long bitCount()方法
- python倒三角形_python写个三角形的问题
- matlab百分制到5分制的转换,绩点换算百分制(绩点5分制百分对照表)
- ip伪装服务器_亚马逊测评还能做吗亚马逊静态ip测评
- oracle 主键自增函数_Oracle数据库中创建自增主键的实例教程
- java entrypoint_java – 有时只调用AuthenticationEntryPoint
- python网络爬虫学习笔记(二):爬虫基本概述
- CUDA——Windows上CUDA的安装教程