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版本号,如下图所示。 |