安裝低版本gcc原因
ubuntun自動安裝的GCC版本為7.3.0,高版本的GCC在編譯binutils時會自動檢測警告并報錯房蝉,低版本的會自動過濾警告,雖然可以通過增加CFLAGS參數(shù)忽略警告微渠,但是警告太多搭幻,過于繁瑣,因此選擇安裝低版本的GCC逞盆。
低版本的gcc有兩種方式安裝:
1.linux上可以gcc多版本共存檀蹋,可以通過修改軟鏈接的方式選擇自己要用的gcc版本,該方法簡單方便云芦,可以隨時依據(jù)自己的需求將gcc降級或升級俯逾,解決不同的軟件要求不同的環(huán)境的問題。
2.上官網(wǎng)下載源碼進(jìn)行安裝舅逸,需要手動編譯等桌肴,容易出錯,由于時間關(guān)系進(jìn)行到一半換成上述安裝方式(有時間手動操作一遍)琉历。
一旷痕、利用軟鏈接的方式進(jìn)行g(shù)cc的降級和升級
(1)gcc的降級
- apt-get安裝gcc、g++翔始,默認(rèn)下載最新版本的斩箫,此時ubuntu里的gcc和g++版本均為7.3.0。
1. sudo apt-get install gcc
2. sudo apt-get install g++
3. gcc -v //查看的版本為7.3.0
4. g++ -v //查看的版本為7.3.0
- apt-get 安裝gcc换团、g++ 5版本悉稠,利用apt-get 安裝gcc5.4.0版本時顯示沒有該版本資源,因此改為gcc.5版本艘包。
1. sudo apt-get install -y gcc-5
2. sudo apt-get install -y g++-5
gcc-5版本已經(jīng)下載好的猛,通過下載時輸出的信息來看下載的版本實際為gcc 5.5.0-12ubuntu1
- 刪除原有g(shù)cc鏈接,重新建立軟鏈接想虎。
1. cd /usr/bin
2. sudo rm -r gcc //移除之前的軟鏈接
3. sudo ln -sf gcc-5 gcc // 建立gcc-5的軟鏈接 此處嘗試使用gcc-5.5.0卦尊,但是報錯
4. sudo rm -r g++ //同上
5. sudo ln -sf g++-5 g++ //同上
- 此時,gcc的版本已經(jīng)成功的從7.3.0下降到5.5.0版本舌厨,利用
gcc -v
查看版本號發(fā)現(xiàn)已經(jīng)更新為gcc 5.5.0岂却。
上處軟鏈接時使用的時gcc-5,顯示的版本為gcc 5.5.0,考慮原因應(yīng)該時在使用apt-get下載時使用的是gcc-5的原因躏哩。
(2)gcc的升級
由于還沒有試驗署浩,暫時空著,隨后試驗后補(bǔ)上
二扫尺、ubuntu手動安裝低版本gcc 5.4.0
參考文章1
參考文章2:比較詳細(xì)的講述了原因和步驟
我在安裝低版本的gcc前把gcc以及g++都卸載了筋栋,但是編譯過程中出錯,原因是編譯gcc源碼又需要編譯環(huán)境正驻,即編譯gcc還是需要編譯環(huán)境的弊攘,可以用gcc編譯環(huán)境也可以選擇其他編譯環(huán)境,因此又把gcc 7.3.0下載回來了姑曙。
卸載安裝的gcc方法:
卸載gcc:sudo apt-get remove gcc
- 上gcc官網(wǎng)下載壓縮包襟交,選擇Asia—china鏡像,選擇安裝的gcc版本5.4.0伤靠,下載安裝包gcc-5.4.0.tar.gz
- 將安裝包gcc-5.4.0.tar.gz移動到文件夾/usr/local/share/
- 解壓縮安裝包:
sudo tar -zxvf gcc-5.4.0.tar.gz
捣域,解壓縮完成后會在當(dāng)前文件夾出現(xiàn)一個文件夾gcc-5.4.0 - 進(jìn)入文件夾gcc-5.4.0,安裝編譯gcc需要的依賴項醋界,即各種依賴包竟宋,可以通過命令集成一次性安裝所有依賴包(需要Linux聯(lián)網(wǎng))
如果linux無法上網(wǎng)可以手動下載依賴包并安裝,盡量使用gcc該版本中要求的配套版本的包
配套文件為:gcc-5.4.0/contrib/download_prerequisites
1. cd gcc-5.4.0
2. ./contrib/download_prerequisites
3. cd ..
- 創(chuàng)建gcc-build-5.4.0形纺,目的存放編譯結(jié)果丘侠,GCC建議編譯后的文件不要放在源目錄中(雖然這樣做也可以),最好單獨存放在另外一個目錄中逐样,而且不能是源目錄的子目錄蜗字。
mkdir /usr/local/share/gcc-build-5.4.0
- 進(jìn)行配置configure,configure的目標(biāo)是在文件夾下生成makefile文件脂新,配置的目的是決定將GCC編譯器安裝到什么地方挪捕,支持什么語言以及指定其它一些選項等。
1. cd gcc-build-5.4.0
2. ../gcc-5.4.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
在配置時由于之前把gcc環(huán)境刪除了争便,因此會報錯:
configure: error: no acceptable C compiler found in $PATH
上網(wǎng)查了以后级零,發(fā)現(xiàn)是沒有編譯環(huán)境,重新下載gcc環(huán)境滞乙,重新配置奏纪,通過
- 編譯,該過程中仍然有報錯行為斩启,具體為什么尚不可知序调,進(jìn)行到此換另一種方法,報錯原因并沒有解決兔簇。
make
- 安裝
make install