1)使用root账号,在opt目录下创建gcc目录,然后将gcc包解压到/opt/gcc目录下:
[root
@bgs
-5p173-wangwenting opt]# mkdir gcc
[root
@bgs
-5p173-wangwenting opt]# tar -xf /opt/software/gcc-${version}.tar.gz /opt/gcc
|
2)在/opt/software/gcc-${version}/contrib/download_prerequisites文件中注释掉wget,避免通过网络下载依赖包:
[root
@bgs
-5p173-wangwenting opt]# cd /opt/gcc/gcc-${version}
[root
@bgs
-5p173-wangwenting gcc-${version}]# vim contrib/download_prerequisites //注释掉其中所有的含wget行,若已经注释了则无需注释,如下图所示。
|
[root
@bgs
-5p173-wangwenting opt]# cd /opt/software
[root
@bgs
-5p173-wangwenting software]# vim contrib/download_prerequisites
[root
@bgs
-5p173-wangwenting software]# cp gmp-
4.3
.
2
.tar.bz2 /opt/gcc/gcc-${version}
[root
@bgs
-5p173-wangwenting software]# cp isl-
0.14
.tar.bz2 /opt/gcc/gcc-${version}
[root
@bgs
-5p173-wangwenting software]# cp mpc-
0.8
.
1
.tar.gz /opt/gcc/gcc-${version}
[root
@bgs
-5p173-wangwenting software]# cp mpfr-
2.4
.
2
.tar.bz2 /opt/gcc/gcc-${version}
[root
@bgs
-5p173-wangwenting software]# cd /opt/gcc/gcc-${version}
[root
@bgs
-5p173-wangwenting gcc-${version}]# tar -xf gmp-
4.3
.
2
.tar.bz2
[root
@bgs
-5p173-wangwenting gcc-${version}]# tar -xf isl-
0.14
.tar.bz2
[root
@bgs
-5p173-wangwenting gcc-${version}]# tar -xf mpc-
0.8
.
1
.tar.gz
[root
@bgs
-5p173-wangwenting gcc-${version}]# tar -xf mpfr-
2.4
.
2
.tar.bz2
|
3)安装g++
[root
@bgs
-5p173-wangwenting gcc-${version}]# ./contrib/download_prerequisites
[root
@bgs
-5p173-wangwenting gcc-${version}]# ./configure --prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --disable-multilib
[root
@bgs
-5p173-wangwenting gcc-${version}]# make -j23
//如果正确的情况下,该编译会持续1个半小时,请耐心等待。
|
执行make的可能会报错:
1.可能你的电脑之前没有低版本的c++编译环境,所以会有一个错误提示:没有c容器之类的。解决方法:安装一个低版本的gcc,可以yum install gcc,如果可以联网的话。
2.在上面的基础上再次编译执行make,可能报错提示是没有gcc-c++这个依赖。解决方法:yum install gcc-c++。之后再执行make指令。
[root
@bgs
-5p173-wangwenting gcc-${version}]# make install
|
4)确认链接库是否链接正确.
检查/usr/lib64/libstdc++.so.6,/usr/local/lib64/libstdc++.so,/usr/local/lib64/libstdc++.so.6三个链接文件是否存在并链接到/usr/local/lib64/libstdc++.so.6.0.21
[root
@bgs
-5p173-wangwenting gcc-${version}]# ll /usr/lib64/libstdc++.so.
6
//可以用改命令查看是否连接正确,如果链接的不正确,需要将软件接删除,重新链接。
示例如下:
[root
@bgs
-5p173-wangwenting gcc-${version}]# rm -r /usr/lib64/libstdc++.so.
6
[root
@bgs
-5p173-wangwenting gcc-${version}]# ln -s /usr/local/lib64/libstdc++.so.
6.0
.
21
/usr/lib64/libstdc++.so.
6
[root
@bgs
-5p173-wangwenting gcc-${version}]# rm -r /usr/local/lib64/libstdc++.so
[root
@bgs
-5p173-wangwenting gcc-${version}]# ln -s /usr/local/lib64/libstdc++.so.
6.0
.
21
/usr/local/lib64/libstdc++.so
[root
@bgs
-5p173-wangwenting gcc-${version}]# rm -r /usr/local/lib64/libstdc++.so.
6
[root
@bgs
-5p173-wangwenting gcc-${version}]# ln -s /usr/local/lib64/libstdc++.so.
6.0
.
21
/usr/local/lib64/libstdc++.so.
6
|
5)修改环境变量:
[root
@bgs
-5p173-wangwenting gcc-${version}]# vim /etc/profile
添加下面的内容:
export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
[root
@bgs
-5p173-wangwenting gcc-${version}]# source /etc/profile
[root
@bgs
-5p173-wangwenting gcc-${version}]# gcc --version
//查看gcc版本号,如下图所示。
|