linux離線安裝軟件(三)——Centos7以源碼編譯方式安裝兩個版本gcc


Centos7源碼安裝兩個版本gcc

gcc編譯安裝前提是已安裝其它版本的gccyum install -y gcc gcc-c++

0.下載源碼包

官網下載或者國內鏡像:http://mirrors.nju.edu.cn/gnu/gcc/gcc-5.5.0/

 

1.解壓縮

tar -zxvf gcc-5.5.0.tar.gz

 

2.下載依賴包

cd gcc-5.5.0
./contrib/download_prerequisites

 

3.新建目錄

mkdir build
cd build

 

4.編譯+安裝

  • --prefix:指定gcc安裝目錄,可以使用任意目錄,這里使用/usr/local/gcc5目錄
  • make -j:多核安裝編譯,
    • 例如在一台2核的機器上,可以使用make -j4, 最多允許4個編譯命令同時執行,可以更有效的利用CPU資源
    • 並行的任務不宜太多,一般是CPU核心數的2倍
../configure --prefix=/usr/local/gcc5 --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j 
make install

 

5.之間已有低版本的gcc存在,先刪除已建的軟連接

rm -rf /usr/bin/gcc
rm -rf /usr/bin/g++
ln -s /usr/local/gcc5/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc5/bin/g++ /usr/bin/g++

 

6.查看新版本

gcc --version

 

7.替換老版本動態庫

運行程序時可能會出現/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.20' not found,是因為升級安裝了gcc,生成的動態庫沒有替換老版本的gcc動態庫導致的。

 

找到在/usr/local/gcc5/lib64/文件夾下

cp /usr/local/gcc5/lib64/libstdc++.so.6.0.21 /usr/lib64/libstdc++.so.6.0.21
rm -f /usr/lib64/libstdc++.so.6
ln /usr/lib64/libstdc++.so.6.0.21 /usr/lib64/libstdc++.so.6


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM