Ubuntu下编译LLVM

来源:互联网 发布:用友crm软件 编辑:程序博客网 时间:2024/04/29 01:54

参考:
编译LLVM: [1]http://blog.csdn.net/snsn1984/article/details/8593380
编译cmake: [2]http://speakingbaicai.blog.51cto.com/5667326/1087432
[3]http://www.cnblogs.com/520zijuan/archive/2013/02/02/2890181.html
更新gcc、g++:[4]http://lonelyprogram.blog.51cto.com/6246243/1355259
[5]http://blog.csdn.net/luochenhuan123/article/details/17352525

下载[1]:
LLVM source code
Clang source code
Compiler RT source code
这三项,下载后进行解压,解压后应该得到三个名字分别为llvm-3.2.src、clang-3.2.src、compiler-rt-3.2.src。这时候,需要对这三个文件夹进行重命名,llvm-3.2.src重命名可以根据自己习惯,此处推荐重命名为llvm-3.2;clang-3.2.src重命名为clang,并且将此文件夹整体放到llvm-3.2/tools下,包含clang这个顶层文件夹;compiler-rt-3.2.src重命名为compiler-rt,并且将包含顶层文件夹的整体文件夹放到llvm-3.2/projects/下。
此时,打开一个终端,切换到llvm-3.2目录下,依次输入如下命令:
mkdir build
cd build
cmake ../
make
然后就可以在llvm-3.2/build/bin目录下看到一大堆的可执行文件。(此处不使用make install是方便在系统上使用多版本的llvm进行研究和修改。)
这个时候可以运行如下命令,来看看clang:
./clang -v
./clang -help
可以写一个简单的helloworld程序,使用clang进行编译,使用方法和gcc相同:
./clang hello.c
./a.out

由于用到cmake,ubuntu自带的cmake是2.8.7,而编译LLVM要求至少是2.8.8,所以需要升级cmake,原以为下载编译好的cmake,在做个链接就可以了,结果总是找不到cmake指令,没办法只好用源码安装的方式更新,参考[2]

LLVM还要求gcc和g++的版本至少是4.7,所以由升级了下gcc,[4]和[5]介绍了同时保留两个版本的gcc和g++的方法,但是编译LLVM的时候仍然不能通过。
卸载了gcc-4.6之后再用
sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
最后可以通过编译

0 0