Linux下编写C/C++程序自然缺不了一个优秀的编译器,Linux下比较常见的自然是GCC了。
2015年GCC也出到了5.2.0版本,对于C++11/14也有了更好的支持了。
所以,今天我们就来说说GCC的编译安装,安装的版本正是最新的5.2.0。
下面我们进入正题(建议整个过程以root用户进行):
1.下载GCC源码:
wget ftp://mirrors.kernel.org/gnu/gcc/gcc-5.2.0/gcc-5.2.0.tar.gz
2.解压:
tar -zxvf gcc-5.2.0.tar.gz
3.下载编译所需依赖项:
cd gcc-5.2.0 //进入解包后的gcc文件夹
./contrib/download_prerequisites //下载依赖项
cd .. //返回上层目录
4.建立编译输出目录:
mkdir gcc-build-5.2.0
5.进入输出目录,执行以下命令,并生成makefile文件:
cd gcc-build-5.2.0
../gcc-5.2.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
6.编译:
make -j4
接下来就是等待了,整个过程大约40分钟左右。
PS:最好不要在编译过程中再去做别的什么事,整个过程CPU都是满载的,
要是莫名终止了,后面麻烦事也不少。切记编译时当前目录剩余空间要最少4G以上,否则会编译失败
7.安装:
编译结束以后,我们就可以执行安装了:
make install
8.检查版本:
gcc --version
或gcc -v
7.切换GCC到新版确定新安装的GCC的路径,一般默认在/usr/local/bin下。
可以先updatedb,然后locate gcc-4.8|tail找一下ls /usr/local/bin | grep gcc添加新GCC到可选项,
倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级,设大一些之后就自动使用新版了
update-alternatives --install /usr/bin/gcc x86_64-unknown-linux-gnu-gcc-5.2.0 /usr/local/bin/x86_64-unknown-linux-gnu-gcc-5.2.0 40
之后,你需要把usr/bin/目录下的gcc文件删除掉或者避免意外发生,可以把它命名为gcc.bak。
这里需要说明的,实际上你在用gcc -v查看当前版本时,就一直使用的usr/bin/gcc。
而ln -s /usr/local/bin/x86_64-unknown-linux-gnu-gcc-5.2.0 /usr/bin/gcc的目的就是为了生成gcc版本5.2的。
此步骤完整操作如下:
mv /usr/bin/gcc /usr/bin/gcc.bak
ln -s /usr/local/bin/x86_64-unknown-linux-gnu-gcc-5.2.0 /usr/bin/gcc
8.确认当前版本已经切换为新版gcc -v我这里用ssh远程的,发现版本没变,断开重练下,重新生成会话后发现变成了5.2了!
Linux升级GCC 4.8.1清晰简明教程(Ubuntu 12.04 64位版为例)
CentOS6.5升级手动安装GCC4.8.2
GCC 的详细介绍:请点这里