Ubuntu系统使用的gcc版本随着发布版本的不同而不同,在编译Android系统时不同的版本推荐用不同的gcc去编译,那么可不可以改变系统的gcc来适应android编译环境的需求呢?答案是可以的。
先看看我们系统用的gcc和g++是什么版本
gcc -v
可以获得的信息如下:
gcc version 4.4.6 (Ubuntu/Linaro 4.4.6-11ubuntu2)
如果我们想使用gcc4.5怎么办?首先看看有没有安装gcc4.5,
ls /usr/bin/gcc*
结果只有/usr/bin/gcc /usr/bin/gcc-4.4两个,那么我们需要安装
sudo apt-get install gcc-4.5 gcc-4.5-multilib g++-4.5 g++-4.5-multilib
安装好后输入以下指令:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 44 --slave /usr/bin/g++ g++ /usr/bin/g++-4.4
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.5 45 --slave /usr/bin/g++ g++ /usr/bin/g++-4.5
其中--slave后面加入g++是当切换gcc版本时也同时切换g++。
接着输入:
sudo update-alternatives --config gcc
会看到如下的选项
There are 3 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/gcc-4.4 44 auto mode
1 /usr/bin/gcc-4.4 44 manual mode
2 /usr/bin/gcc-4.5 45 manual mode
* 3 /usr/bin/gcc-4.6 46 manual mode
Press <enter> to keep the current choice[*], or type selection number:
要想用哪个gcc就输入编号吧。
如果想删除可选项的话可以键入以下指令:
sudo update-alternatives --remove gcc /usr/bin/gcc-4.5
再用gcc -v来看一下版本是否改变了。