废话很少说,直接上shell,仍是比较简单的。就是编译时间有点长... 都是以小时计的......,我刀片机上面一台虚拟机反正是等了3个小时linux
#必备组件安装 yum install -y gcc gcc-c++ bzip2 #root用户执行,到用户目录。其实cd哪里都阔以。 cd ~/ #下载gcc源代码 wget https://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz #解压 tar -zxvf gcc-7.3.0.tar.gz #到源代码目录 cd gcc-7.3.0 #下载一些必须的东西 ./contrib/download\_prerequisites #若是下载不下来,或者下载缓慢能够考虑查看命令行拿到下载地址本身down下拉后,放到源代码目录。具体地址:ftp://gcc.gnu.org/pub/gcc/infrastructure/,须要下载的几个源代码包以下,能够查看./contrib/download\_prerequisites文件。 gmp='gmp-6.1.0.tar.bz2' mpfr='mpfr-3.1.4.tar.bz2' mpc='mpc-1.0.3.tar.gz' isl='isl-0.16.1.tar.bz2' #接着建立一个目录,用于gcc build mkdir gcc-build-7.3.0 #cd到build目录,准备开始编译了。 cd gcc-build-7.3.0 #编译的config,disable-multilib 64位编译标记。具体可查看官方文档 ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib #接着就是漫长的编译等待了 make #不知是否能够使用make -j8之类的开启多核编译是否会快一点,我反正是等了好几个小时 #next make install #从新创建软链接 find / -name "libstdc++.so*" #找到本身的文件路径 #把libstdc++.socopy到/usr/lib64目录,相似下面的命令 cp /root/gcc-7.3.0/gcc-build-7.3.0/x86\_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.24 /usr/lib64 cd /usr/lib64 rm -rf libstdc++.so.6 #删除原来的 ln -s libstdc++.so.6.0.24 libstdc++.so.6 #从新创建软连 gcc -v #看看输出,是否是以下图变成7.3.0拉。
参考资料:
gcc源代码下载地址c++