温州网站推广站建设,大数据精准营销服务,广州天河建站公司,2022年深圳在建工程查询0.前言一般linux操作系统默认的gcc版本都比较低#xff0c;例如centos7系统默认的gcc版本为4.8.5。gcc是从4.7版本开始支持C11的#xff0c;4.8版本对C11新特性的编译支持还不够完善#xff0c;因此如果需要更好的体验C11以及以上版本的新特性#xff0c;需要升级gcc到一个…0.前言一般linux操作系统默认的gcc版本都比较低例如centos7系统默认的gcc版本为4.8.5。gcc是从4.7版本开始支持C11的4.8版本对C11新特性的编译支持还不够完善因此如果需要更好的体验C11以及以上版本的新特性需要升级gcc到一个较高的版本。本文给出了linux系统中涉及国家gcc的操作步骤供大家参考。升级步骤可以大致分为下面四个步骤查看确认原来的gcc版本下载需要升级的gcc版本下载新版本gcc需要的依赖编译并安装gcc新版本查看确认gcc原来的版本linux命令行中输入gcc --version可以看到显示如下gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)Copyright © 2015 Free Software Foundation, Inc.本程序是自由软件请参看源代码的版权声明。本软件没有任何担保包括没有适销性和某一专用目的下的适用性担保。一般很多linux系统默认的gcc版本为4.8.5该版本对C11的支持还不够完善可以将版本升级到一个更高的版本。本文以升级到版本10.1.0为例。下载需要升级的gcc版本并解压2.1下载gcc新版本由于linux系统没有外网本文给出的示例是先在windows系统上将gcc版本下载然后上传的linux系统中。下载gcc新版本地址为http://ftp.gnu.org/gnu/gcc/上面有很多gcc版本需要自己需要的版本进行下载即可。本文以版本10.1.0为例点击红色部分下载文件gcc-10.1.0.tar.gz2.2 将gcc新版本上传到linux系统并解压将下载好的gcc版本上传到linux系统中。本文将版本放在目录/opt2/test_other/debug_test/进入到/opt2/test_other/debug_test/目录将文件解压到/usr/local目录下面tar -zvxf gcc-10.1.0.tar.gz --directory/usr/local/解压之后可以在/usr/local目录下面看到解压后的gcc目录下载并gcc需要的依赖3.1 查看gcc需要的依赖cd 到gcc-10.1.0目录下面查看需要的依赖vim contrib/download_prerequisites可以看到需要的依赖以及版本如下从上面看到一共有四个依赖gmp、mpfr、mpc以及isl。3.2 下载需要依赖在安装gcc新版本之前一定要先下载这几个依赖注意依赖的版本。依赖下载的地址https://gcc.gnu.org/pub/gcc/infrastructure/下载好4个依赖之后将文件上传到linux系统的目录/opt2/test_other/debug_test/下面。3.3 将依赖解压到目录gcc-10.1.0cd到/opt2/test_other/debug_test/目录下面用下面命令将gmp文件解压到目录gcc-10.1.0tar -jvxf gmp-6.1.0.tar.bz2 --directory/usr/local/gcc-10.1.0/用同样的命令可以将isl-0.18.tar.bz2、mpfr-3.1.4.tar.bz2解压到目录gcc-10.1.0。下面的命令将mpc-1.0.3.tar.gz解压到目录gcc-10.1.0tar -zvxf mpc-1.0.3.tar.gz --directory/usr/local/gcc-10.1.0/3.4 为新下载的依赖建立软链接cd到gcc-10.1.0目录下面依次执行下面四个命令为四个依赖创建软链接ln -sf gmp-6.1.0 gmp
ln -sf isl-0.18 isl
ln -sf mpc-1.0.3 mpc
ln -sf mpfr-3.1.4 mpfr在目录gcc-10.1.0下面查看建立的软连接ls -l | grep ^l如果上面的软连接建立成功会看到下面四个链接文件显示如下编译并安装gcc4.1 编译并安装 在目录gcc-10.1.0下面依次执行下面两个命令mkdir build cd build
../configure -enable-checkingrelease -enable-languagesc,c -disable-multilib 如果上面的命令执行正确可以看到生成的makefile文件。上述命令执行完成之后build下面可以看到下面几个文件config.log config.status Makefile serdep.tmp注意在执行上面的第二个configure命令时也可以通过prefix参数为新版本gcc指定安装安装目录如果没有指定默认为/usr/local/这里本文没有指定../configure --prefix/usr/local/gcc-10.1.0/ --enable-checkingrelease --enable-languagesc,c --disable-multilib然后在build目录下面执行的命令编译安装gccmake -j4 make install该过程时间比较漫长大约需要2小时以上需要耐心等待。如果编译安装过程没有报错最后一段打印大概是这样4.2 更新gcc上面的过程执行完如果你在linux命令行中输入gcc -version,你会发现显示的还是原来的版本这是因为gcc还没有更新执行的还是原来的gcc命令。原来的gcc命令位于目录/usr/bin/gcc等目录下面为了不覆盖原来的命令。将原来的相关内容进行备份处理执行如下命令mv /usr/bin/gcc /usr/bin/gcc485
mv /usr/bin/g /usr/bin/g485
mv /usr/bin/c /usr/bin/c485
mv /usr/bin/cc /usr/bin/cc485
mv /usr/lib64/libstdc.so.6 /usr/lib64/libstdc.so.6.bak安装的gcc新版本位于/usr/local/bin目录下面需要为新版本gcc创建软链接ln -s /usr/local/bin/gcc /usr/bin/gcc
ln -s /usr/local/bin/g /usr/bin/g
ln -s /usr/local/bin/c /usr/bin/c
ln -s /usr/local/bin/gcc /usr/bin/cc
ln -s /usr/local/lib64/libstdc.so.6.0.28 /usr/lib64/libstdc.so.6上面的步骤步骤完成之后输入gcc -v查看版本可以看到版本已经变成安装的最新版本10.1.0了说明安装成功。【参考文章】https://www.jb51.net/article/95974.htmhttps://www.jb51.net/article/230581.htmhttps://cloud.tencent.com/developer/article/1424725https://blog.csdn.net/liyelool/article/details/118656509