这是一篇老笔记,在整理之前的博客发现了。想起当年上学时,学习 clang 的经历。
笔者在安装LLVM和clang时遇到一下奇葩的问题,搞的人极为头大。先说说笔者的环境吧。
笔者的环境中的cmake版本为2.8.7而LLVM需要的版本最低要求为2.8.12.2。由于apt-get安装的只能是2.8.7的了,无奈只能去官网上重新下载安装包了。官网给出的是最新版本的而且是可执行的文件,捣鼓了半天,在网上搜了半天都是啥./bootstrap
啥的,可是这个压缩包中是没有这个文件的。只好下源码,通过源码安装。执行了git clone git://cmake.org/cmake.git
克隆下来的是当时最新版本的3.4,为了报销起见,笔者还是觉得安装2.8.12.2版本的。那么问题就来了,怎样获得2.8.12.2版本的代码呢?笔者是这样干的:
git checkout git checkout -b 2.8.12.2 2.8.12.2 #钱一个2.8.12.2是笔者新建的一分支,后一个是tag也就是需要的版本号。
#这样就相当于,从指定的tag新建了一个分支,这样就可以获取指定tag的代码了。
$:sudo ./configure
$:sudo make
$:sudo make install
这样就安装好了合适的cmake了。
原本以为这样就好了,事实上是笔者想的太多了。g++从4.7才开始支持C++11,而笔者所装LLVM版本为3.7已经有一些C++11特性了,自带g++4.6.3已经不能对其进行编译了。路有三条:
sudo apt-get install llvm clang
一条命令搞定,可是安装的LLVM版本比较老,是3.0版本的。sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
cd /usr/bin
sudo rm g++
sudo ln -s g++-4.8 g++
sudo ln -s gcc-4.8 g++
后两步是必须的,不然默认编译器还是之前的4.6版本的。
总算把各种路障清干净了,接下来就更好办了,直接按照官方文档一步一步输命令安装即可。不再赘述,详情见参考资料。
[1]: http://www.oschina.net/question/1030451_105857#tags_nav
[2]: http://blog.chinaunix.net/uid-23381466-id-3475968.html
[3]: http://clang.llvm.org/get_started.html