llvm编译linux,在Linux上编译LLVM/Clang 8.0.0等全部源代码
本教程使用的操作系统是Ubuntu Linux 18.04.2 LTS版本,编译器是GCC 6.5.0(不用新版的原因是某些代码不支持更高的版本),要编译的LLVM源代码是8.0.0。
1、安装必要的软件。它们是:build-essential/gcc-6/g++-6/cmake/swig/python-swigpk/libxml2/libxml2-dev/libncurse5/libncurse-dev/libedit-dev/libpython-dev,还可以选择安装doxygen/ocaml/python-sphinx/git/libopenmpi-dev/libelf-dev/libffi-dev/python-pycuda。
打开终端,输入以下命令:
sudo apt-get install build-essential gcc-6 g++-6 cmake swig python-swiglpk libxml2 libxml2-dev libncurses5 libncurses5-dev libedit-dev libpython-dev
另外还要安装z3,安装方法看这里。
切换gcc/g++版本的方法看这里。
2、下载LLVM/Clang等全部源代码。(下载地址)
3、解压LLVM/Clang等全部源代码(不包括test-suite)。
首先解压llvm主程序源代码:
tar xf llvm-8.0.0.src.tar.xz
然后进入llvm主目录:
cd llvm-8.0.0.src
创建几个子目录用于存放LLVM子项目的源代码:
mkdir -p tools/clang
mkdir -p tools/clang/tools/extra
mkdir -p tools/lld
mkdir -p tools/lldb
mkdir -p tools/polly
mkdir -p projects/compiler-rt
mkdir -p projects/libcxx
mkdir -p projects/libcxxabi
mkdir -p projects/libunwind
mkdir -p projects/openmp
开始解压所有的子项目:
tar xf ../cfe-8.0.0.src.tar.xz -C tools/clang --strip-components=1
tar xf ../clang-tools-extra-8.0.0.src.tar.xz -C tools/clang/tools/extra --strip-components=1
tar xf ../lld-8.0.0.src.tar.xz -C tools/lld --strip-components=1
tar xf ../lldb-8.0.0.src.tar.xz -C tools/lldb --strip-components=1
tar xf ../polly-8.0.0.src.tar.xz -C tools/polly --strip-components=1
tar xf ../compiler-rt-8.0.0.src.tar.xz -C projects/compiler-rt --strip-components=1
tar xf ../libcxx-8.0.0.src.tar.xz -C projects/libcxx --strip-components=1
tar xf ../libcxxabi-8.0.0.src.tar.xz -C projects/libcxxabi --strip-components=1
tar xf ../libunwind-8.0.0.src.tar.xz -C projects/libunwind --strip-components=1
tar xf ../openmp-8.0.0.src.tar.xz -C projects/openmp --strip-components=1
4、编译LLVM/Clang等全部源代码。
切换到终端,执行以下命令:
cd ..
mkdir build
cd build
sudo mkdir /xxx
sudo cmake -DCMAKE_INSTALL_PREFIX=/xxx ../llvm-8.0.0.src(这里的xxx是你想要安装LLVM的目录,名字可以随便取,如果不加-DCMAKE_INSTALL_PREFIX参数的话默认应该是安装到/usr里)
sudo cmake --build .(开始编译。编译过程很长,需要几个小时,具体时间和CPU性能有关)
sudo cmake --build . --target install(安装LLVM/Clang等所有已编译好的软件。安装目录在上面指定了)
llvm编译linux,在Linux上编译LLVM/Clang 8.0.0等全部源代码相关推荐
- centos llvm安装_在CentOS上编译安装llvm-3.8.1详细教程
在CentOS上编译安装llvm-3.8.1详细教程 2020/1/11 18:12 1682次 注:CentOS版本是6.8,6.x版本的操作类似 安装需求: [list] [*]Cmake: 3 ...
- mingw linux socket,MingW上编译WinSocket程序undefined reference to `WSAStartup@8'报错的解决办法...
在Mingw stdio上编译Windows Socket程序经常出现这样的错误 undefined reference to `inet_addr@4' undefined reference to ...
- 树莓派指定python2编译_在树莓派上编译安装ROS2
最新编译方式已经修改,请参考官网最新文档: ------------------------------------下文已经过时 仅供参考------------------------------- ...
- php在windows编译_在Windows上编译PHP
php在windows编译 Compiling PHP from source code is more commonly done on Unix-type systems. Those worki ...
- linux 64平台上编译32位程序: GCC编译选项 -m64 -m32 -mx32
-m32选项将int,long和指针设置为32位,并生成在任何i386系统上运行的代码. -m64选项将int设置为32位和long,指针设置为64位,并为AMD的x86-64体系结构生成代码. -m ...
- php 7编译安装mysql5.6_CentOS7上编译安装MySQL5.6.23_MySQL
1.下载源码 wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.23.tar.gz 2.解压 tar zxvf mysql-5.6 ...
- linux acl库编译与使用,acl 的编译与使用
acl 下其实有四个库:lib_acl (基础库).lib_protocol(http 和 icmp 协议库).lib_acl_cpp(封装了 lib_acl 和 lib_protocol 两个 C ...
- 其他笔记 - Mono for Windows 跨平台 Runtime 在Win10上编译和安装
目录 在Windows上编译Mono 安装环境 下载Mono源码 预配置编译安装说明 详细的编译说明 启用BTLS作为Windows构建的加密后端 为Windows版本启用LLVM 使用monolit ...
- linux2.6 gcc 4.8.2,在Red Hat Enterprise linux 6.5上安装GCC 4.8.2
我是Red Hat Enterprise linux的新手.我在Red Hat Enterprise Linux 6.5上编译gcc 4.8.2时面临问题;我从GNU webite中获取源代码.我按照 ...
- 在Linux上编译LLVM/Clang 8.0.0等全部源代码
2019独角兽企业重金招聘Python工程师标准>>> 本教程使用的操作系统是Ubuntu Linux 18.04.2 LTS版本,编译器是GCC 6.5.0(不用新版的原因是某些代 ...
最新文章
- python自动生成鸡汤文_20行python代码实现鸡汤智能生成器
- Mac 技术篇-chrome浏览器启用flash插件最强攻略
- 【pmcaff】页面停留时间和网站停留时间详解
- Java程序利用POJ读写Excel的.xls或.xlsx文件所需的3个jar包
- 【牛客 - 303B第十五届浙江大学宁波理工学院程序设计大赛(同步赛)】Fibonacci and Counting(Fib数性质,gcd辗转相除法性质)
- mysql 去重复屈居_mysql去重复关键字distinct的用法
- 【论文写作】毕业论文怎么写?
- python经典程序实例-Python简单基础小程序的实例代码
- 金融评分卡项目—5.神经网络模型在银行业客户流失预警模型中的应用—MLP
- 7-2 人民币兑换 (15 分)
- poj3263 Tallest Cow 题解报告
- GitHub Windows 客户端使用教程
- 一篇文章带你搞懂DEX文件的结构
- Augustus:真核生物基因结构预测软件-安装篇
- Windows找回磁盘被病毒感染后隐藏的文件
- 最新免费自建APP平台哪个好?手把手教你制作APP
- 学会这5个拍摄技巧,能让你的视频更好看
- 梦幻西游藏宝阁不显示服务器,梦幻西游玩转藏宝阁 全服搜索功能体验 17173.com网络游戏:《梦幻西游》专区...
- LENOVO服务器批量升级BMC固件
- 使用final来修饰方法
热门文章
- java8中方法区的内存大小如何设置_从Java8升级到Java11
- cache failed module status_Flutter混编之路——iOS踩坑记录
- mysql结果集相减_MySQL_(Java)使用JDBC向数据库发起查询请求
- python读取数据库文件的扩展名_Python读取sqlite数据库文件的方法分析
- python根据数据生成图像_从三个numpy数组生成图像数据
- c++分治法求最大最小值实现_最优化计算与matlab实现(12)——非线性最小二乘优化问题——G-N法...
- django国际化与html语言,Django 国际化
- 【Visual C++】游戏开发笔记十九 DirectX与OpenGL的博弈
- /dev/fb0入门练习
- React开发(149):ant design控制是否必填