CentOS 7升级gcc版本
<p>Centos 7默认gcc版本为4.8,有时需要更高版本的,这里以升级至8.3.1版本为例,分别执行下面三条命令即可,无需手动下载源码编译</p><p>1、安装centos-release-scl</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">yum</span> <span style="color: rgba(0, 0, 255, 1)">install</span> centos-release-scl</pre>
</div>
<p>2、安装devtoolset,注意,如果想安装7.*版本的,就改成devtoolset-7-gcc*,以此类推</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">yum</span> <span style="color: rgba(0, 0, 255, 1)">install</span> devtoolset-<span style="color: rgba(128, 0, 128, 1)">8</span>-<span style="color: rgba(0, 0, 255, 1)">gcc</span>*</pre>
</div>
<p>3、激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本</p>
<div class="cnblogs_code">
<pre>scl enable devtoolset-<span style="color: rgba(128, 0, 128, 1)">8</span> bash</pre>
</div>
<p>大功告成,查看一下gcc版本</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">gcc</span> -v</pre>
</div>
<p>显示为 gcc version 8.3.1 20190311 (Red Hat 8.3.1-3) (GCC)</p>
<p>补充:这条激活命令只对本次会话有效,重启会话后还是会变回原来的4.8.5版本,要想随意切换可按如下操作。</p>
<p>首先,安装的devtoolset是在 /opt/rh 目录下的,如图</p>
<p><img src="https://img2018.cnblogs.com/blog/1604637/201910/1604637-20191024223407302-2113469117.png" alt="" width="625" height="150"></p>
<p> 每个版本的目录下面都有个 enable 文件,如果需要启用某个版本,只需要执行</p>
<div class="cnblogs_code">
<pre>source ./enable</pre>
</div>
<p>所以要想切换到某个版本,只需要执行</p>
<div class="cnblogs_code">
<pre>source /opt/rh/devtoolset-<span style="color: rgba(128, 0, 128, 1)">8</span>/enable</pre>
</div>
<p>可以将对应版本的切换命令写个shell文件放在配了环境变量的目录下,需要时随时切换,或者开机自启</p>
<p>4、直接替换旧的gcc</p>
<p>旧的gcc是运行的 /usr/bin/gcc,所以将该目录下的gcc/g++替换为刚安装的新版本gcc软连接,免得每次enable</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">mv</span> /usr/bin/<span style="color: rgba(0, 0, 255, 1)">gcc</span> /usr/bin/<span style="color: rgba(0, 0, 255, 1)">gcc</span>-<span style="color: rgba(128, 0, 128, 1)">4.8</span>.<span style="color: rgba(128, 0, 128, 1)">5</span>
<span style="color: rgba(0, 0, 255, 1)">ln</span> -s /opt/rh/devtoolset-<span style="color: rgba(128, 0, 128, 1)">8</span>/root/bin/<span style="color: rgba(0, 0, 255, 1)">gcc</span> /usr/bin/<span style="color: rgba(0, 0, 255, 1)">gcc</span>
<span style="color: rgba(0, 0, 255, 1)">mv</span> /usr/bin/g++ /usr/bin/g++-<span style="color: rgba(128, 0, 128, 1)">4.8</span>.<span style="color: rgba(128, 0, 128, 1)">5</span>
<span style="color: rgba(0, 0, 255, 1)">ln</span> -s /opt/rh/devtoolset-<span style="color: rgba(128, 0, 128, 1)">8</span>/root/bin/g++ /usr/bin/g++
<span style="color: rgba(0, 0, 255, 1)">gcc</span> --<span style="color: rgba(0, 0, 0, 1)">version
g</span>++ --version</pre>
</div><br><br>
来源:https://www.cnblogs.com/jixiaohua/p/11732225.html
頁:
[1]