1. 程式人生 > 其它 >centos安裝配置安裝多版本的gcc

centos安裝配置安裝多版本的gcc

技術標籤:centosgcccentoslinux

(先寫一個簡單的處理思路後期補充)
自己出現的問題:因安裝其他軟體需要,本人將gcc升級到9.1,但是安裝apex的時候,告訴我gcc版本不能高於8.0。相隔就一天。心態差點爆炸。(順便加一句我改了之後告訴我要求gcc5.0以上版本。。。)
我安裝的時候使用的是手動編譯安裝,另外一個是系統自帶
系統自帶版本:4.8.5
後來手動編譯版本:9.1.0
檢視gcc版本的命令:gcc -v 當然和這個一起的還有g++,c++都一樣加-v查版本
檢視系統帶的(或者說是yum安裝的gcc):rpm -q gcc
如果這個和系統中gcc -v的不一樣可以按照我下面的步驟來

在這裡插入圖片描述
方法一,使用devtoolset
一,更新yum:sudo yum update
二,安裝centos-release-scl:sudo yum install centos-release-scl
三,安裝devtoolset:sudo yum install devtoolset-7-gcc*
你想安裝哪個版本的就把7改成哪個版本
四,啟用這個環境:scl enable devtoolset-8 bash
五,檢視環境:gcc -v
每次使用這個版本的gcc時候都需要啟用一下,安裝的devtoolset是在 /opt/sh 目錄下的
可以使用devtools中的enable進行啟用如source /opt/rh/devtoolset-7/enable

方法二,使用軟連線
主要思路就是使用sudo find / -name gcc查詢老的在哪裡,然後用軟連線,放到/usr/local/bin/裡面(如果已經多安裝了一個的話)

一,編譯並安裝一個gcc版本
這個網上有很多,就是去官網下載一個gcc,然後下載依賴包,然後編譯。回頭我再加這部分內容。
二,檢視系統當前版本(nvcc -v
如果你想要使用的不是這個版本可以進行替換
三,查詢系統中gcc的位置

sudo find / -name gcc

一般會顯示兩個
在這裡插入圖片描述
我們只用管在bin下面的那個就好了。一般系統預設安裝的在/usr/bin/gcc中。
來看一下是不是系統預設安裝的,使用命令/usr/bin/gcc -v


而我們使用gcc -v所用的都是/usr/local/bin/gcc中的,(放在usr/loacl/bin下面的你在任何地方輸入都可以執行)
四,最後一步就是把系統的gcc9.1.0更換為4.8.5(這個比較重要前兩個只是個解釋,可能有人跟我遇到的不是一個問題這個也能有個思路)
其實就跟windows的環境變數一樣,你裝了兩個,然後你指哪個他就用哪個。
第一步:將/usr/local/bin/gcc進行換名,也就是相當於備份。(系統預設使用gcc,所以換完名字之後想要再用9.1.0就可以使用gcc-9.1.0 -v等命令)

sudo mv /usr/local/bin/gcc /usr/local/bin/gcc-9.1.0

之後我們把我們要用的在/usr/bin/gcc拿過來設定為環境變數。

sudo ln -s /usr/bin/gcc /usr/local/bin/gcc

這樣就相當於系統預設使用/usr/bin/gcc的gcc
這樣還沒有結束,因為gcc,g++,c++都是配套的。所以按照上面那兩個命令把g++和c++也進行配置。

sudo mv /usr/local/bin/g++ /usr/local/bin/g++-9.1.0
sudo ln -s /usr/bin/g++ /usr/local/bin/g++
sudo mv /usr/local/bin/c++ /usr/local/bin/c++-9.1.0
sudo ln -s /usr/bin/c++ /usr/local/bin/c++