centos下升级g++版本
轉(zhuǎn)載請(qǐng)注明文章出處:https://juejin.im/post/5d0ef5376fb9a07ef63fe74e
CentOS 7官方源帶的gcc最新版本是4.8.5,發(fā)布于2015年,年代久遠(yuǎn)且不支持c++14。要編譯c++14及以上項(xiàng)目,必須要升級(jí)現(xiàn)有版本或者安裝高版本的gcc。(yum -y install gcc-c++)
問(wèn)題的解決辦法主要有兩種:手動(dòng)編譯安裝(也可以從其他機(jī)器拷貝或者網(wǎng)上下載),或從源安裝。大多數(shù)情況下本人都不推薦從源碼編譯,因?yàn)檫^(guò)程中常會(huì)出現(xiàn)各種依賴(lài)問(wèn)題需要人工手動(dòng)解決,費(fèi)時(shí)(單核編譯gcc至少一小時(shí))且耗費(fèi)精力,并且軟件升級(jí)還要再來(lái)一次,相當(dāng)?shù)恼垓v。鑒于此下文介紹從源安裝的方法。
紅帽其實(shí)已經(jīng)編譯好了高版本的gcc,但未更新到base和epel這兩個(gè)常用的源中,而是放在scl中。第一步便是安裝scl:
yum install -y centos-release-scl
復(fù)制代碼
如果你之前用過(guò)grouplist/install等命令,應(yīng)該知道gcc包含在Development Tools這個(gè)組中。那么scl中的gcc/g++軟件包的前綴都是devtoolset,也就不難理解了。安裝gcc 6版本的命令是:
yum install -y devtoolset-6-gcc devtoolset-6-gcc-c++
復(fù)制代碼
devtoolset-6中的gcc版本為gcc 6,除此之外還有如下版本:
devtoolset-3: gcc 4.9
devtoolset-4: gcc 5
devtoolset-6: gcc 6
devtoolset-7: gcc 7
devtoolset-8: gcc 8
至于為什么沒(méi)有devtoolset-5,我也不清楚,估計(jì)是包含在devtoolset-4中了吧。值得說(shuō)明的是這些軟件包可以同時(shí)安裝,不會(huì)相互覆蓋和沖突,也不會(huì)覆蓋系統(tǒng)的版本。即可以在系統(tǒng)中同時(shí)安裝gcc 6, gcc 7, gcc 8等多個(gè)版本。
echo ‘source /opt/rh/devtoolset-8/enable’ >> ~/.bash_profile source /opt/rh/devtoolset-8/enable
source /opt/rh/devtoolset-8/enable
//注意,如果是vs2019 遠(yuǎn)程調(diào)試的話(huà),需要執(zhí)行以下命令
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g+±4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
總結(jié)
以上是生活随笔為你收集整理的centos下升级g++版本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电脑配置多个git账号
- 下一篇: 公开说说别人看不到_当听到别人在说自己坏