本博客来自:http://www.mudbest.com/centos%E5%8D%87%E7%BA%A7gcc4-4-7%E5%8D%87%E7%BA%A7gcc4-8%E6%89%8B%E8%AE%B0/
出于需求系统自带的是gcc4.4.7,版本太低无法编译,被逼无奈只能升级gcc了,碰到很多坑,下载这个玩意就用了不少时间。
1
2
3
4
5
6
|
[root@VM_222_92_centos ~] # gcc -v Using built- in specs. Target: x86_64-redhat-linux Configured with: .. /configure --prefix= /usr --mandir= /usr/share/man --infodir= /usr/share/info --with-bugurl=http: //bugzilla .redhat.com /bugzilla -- enable -bootstrap -- enable -shared -- enable -threads=posix -- enable -checking=release --with-system-zlib -- enable -__cxa_atexit --disable-libunwind-exceptions -- enable -gnu-unique-object -- enable -languages=c,c++,objc,obj-c++,java,fortran,ada -- enable -java-awt=gtk --disable-dssi --with-java-home= /usr/lib/jvm/java-1 .5.0-gcj-1.5.0.0 /jre -- enable -libgcj-multifile -- enable -java-maintainer-mode --with-ecj-jar= /usr/share/java/eclipse-ecj .jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux Thread model: posix gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) |
1.下载源码包
1
2
|
wget http: //ftp .gnu.org /gnu/gcc/gcc-4 .8.0 /gcc-4 .8.0. tar .bz2 tar -jxvf gcc-4.8.0. tar .bz2 |
2.下载编译所需依赖库
1
2
3
|
cd gcc-4.8.0 . /contrib/download_prerequisites cd .. |
3.建立编译输出目录
1
|
mkdir gcc-build-4.8.0 |
4.进入此目录,执行以下命令,生成makefile文件
1
2
|
cd gcc-build-4.8.0 .. /gcc-4 .8.0 /configure -- enable -checking=release -- enable -languages=c,c++ --disable-multilib |
5.编译
1
2
|
# j 后面的是核心数,编译速度会比较快 make -j4 |
6.安装
1
|
sudo make install |
7.切换GCC到新版
确定新安装的GCC的路径,一般默认在/usr/local/bin下。可以先updatedb,然后locate gcc-4.8|tail找一下
1
|
ls /usr/local/bin | grep gcc |
添加新GCC到可选项,倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级,设大一些之后就自动使用新版了
1
|
update-alternatives -- install /usr/bin/gcc gcc /usr/local/bin/i686-pc-linux-gnu-gcc 40 |
8.确认当前版本已经切换为新版.
1
|
gcc - v |