现在的位置: 首页 > 综合 > 正文

llvm安装小结

2013年12月13日 ⁄ 综合 ⁄ 共 1477字 ⁄ 字号 评论关闭

对于像我这样的菜鸟来说,在linux中安装安装一个编译器总要有人手把手才行。本来准备今天装好llvm在

linux中的实验环境,然后晚上看资料开始写
一个简单的编译器练练手的,但是折腾到现在才搞定。我把能

google到的东西全google了,但是发现还是没有手把手交如何搭环境的,博客里有一篇
转载的llvm2.3版本的

安装指南,但是感觉不是很细,我用的是2.6版本的,跟着做了,但是还是出现了很多问题,之后靠着我一点点

看报错信息然后
增改东西才搞定的。下面我把在ubuntu中搭建 llvm 2.6的步骤简单说一下吧(我用的是

ubuntu 9.10,不过这个应该关系不大):

 

安装llvm之前必备的编译器要有gcc、bison、flex。

 

没有的话用apt-get命令来获取:

sudo apt-get install gcc

sudo apt-get install bison

sudo apt-get install flex

 

安装完这三者之后,我们开始安装llvm 2.6

 

1.
将llvm 2.6的源码包解压缩到指定目录,我是解压缩到
    /mnt/LLVM/source-code/llvm-2.6

目录下
    然后 sudo ./config

    ps.我之前没有安装gcc,结果会报错说没有安装gcc

    sudo

cd /mnt/LLVM/source-code/llvm-2.6

    sudo  ./configure

    sudo  make

(不安装bison和flex这里会报错)

    sudo make install


2.由于2.6版本里提供了
比较完善的llvm-gcc binaries包,所以一般来讲不用自己再去安装了,只要将包里相应的内容拷贝到/usr/local中的相关文件夹内就可以了。拷贝时,可以使用sudo cp -r 源文件夹或文件路径
目标文件夹或文件路径。


这样基本就ok了。可以简单的测试一下llvm-gcc是否装好。


#include <stdio.h>
#include <iostream>

using namespace std;
int main()
{
    printf( "hello, the world/n" );
    cout << "this from C++" << endl;
    return 0;
}



测试步骤:
1。llvm-g++ test.cc -emit-llvm -c -o test.bc

    调用llvm-g++的编译前端为test.cc生成相应的LLVM bit code 文件。

    我们也可以在调用llvm-g++的过程中添加上一些额外的选项,如

    llvm-g++ --verbose test.cc -emit-llvm -c -o test.bc

    加上--verbose
以确认llvm-g++前端在编译过程中使用的是正确的头文件

    llvm-g++ -S test.cc --emit-llvm

    加上 -S
选项,生成 LLVM的汇编格式文件。

2。基于步骤1生成的bit code文件,我们可以调用lli
来对其解释执行

    lli ./test.bc

3。基于步骤1生成的bit code文件,我们可以调用llvm-dis
来进行反汇编

    llvm-dis < test.bc

4。基于步骤1生成的bit code文件,我们还可以调用llc
来为其生成本地的汇编

文件

    llc test.bc -o test.s

5。最后我们可以调用本地g++编译器为test.s生成本地机器码并执行之。

    g++ test.s -o test.native

    ./test.native

 

注:上述部分内容来自《


搭建LLVM实验环境


》一文!


抱歉!评论已关闭.