1. 程式人生 > 其它 >Centos7 GCC升級至10.2.0 出現g++:command not found

Centos7 GCC升級至10.2.0 出現g++:command not found

新搭建的一臺測試機-centos7,安裝的時候選了最小安裝(後來知道這是一個多麼作死的決定,想哭),測試機是不能聯網的,全部安裝必須離線安裝

對機器安裝boost時出現異常,編譯boost時Failed to build Boost.Build build engine問題的解決

查詢原因發現我沒有安裝gcc,然後我安裝了系統自帶的gcc 4.8.5,但還是沒有解決問題,查詢原因發現是GCC版本太低,需要升級,於是開啟下面工程

1、下載GCC安裝包 及其依賴

gcc-10.2.0.tar.gz

百度網盤連結:https://pan.baidu.com/s/1JOmaO1i5KLv8gy_MwjFXJg
提取碼:c8gh

(包含gcc、gcc-C++預設版本以及gcc10.2.0)

2、解壓壓縮包(我解壓到了/usr/local/)

tar -zxvf gcc-10.2.0.tar.gz

3、上傳依賴包到 /usr/local/gcc-9.10 目錄下,並解壓

tar -xf gmp-6.1.0.tar.bz2
tar -xf mpfr-3.1.4.tar.bz2
tar -xf mpc-1.0.3.tar.gz
tar -xf isl-0.18.tar.bz2

這個步驟中出現了一個異常,bzip2: Cannot exec: No such file or directory
這是因為沒有安裝bzip2-1.0.6.tar.gz
解決辦法:下載並安裝bzip2-1.0.6.tar.gz 百度網盤地址:
tar -xzvf  bzip2-1.0.6.tar.gz
cd bzip2-1.0.6
make -f Makefile-libbz2_so
make clean
make
make install

安裝好bzip2後,繼續上面解壓依賴包

4、進入解壓目錄中
cd gcc-10.2.0/

5、建立軟連結

ln -sf gmp-6.1.0 gmp

ln -sf mpfr-3.1.4 mpfr

ln -sf mpc-1.0.3 mpc

ln -sf isl-0.18 isl

6、新建bulid目錄(與gcc-10.2.0同級)並進入該目錄中

mkdir build && cd build

7、生成Makefile檔案

../gcc-10.2.0/configure --prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --disable-multilib

8、編譯及安裝

make && make install

執行中途出現異常,如下圖,然後檢視config.log檔案,顯示g++:command not foun


該問題的原因是沒有安裝gcc-c++,最小安裝的坑,但遇到了解決吧!

解決辦法,到centos7的映象檔案中Packages資料夾中查詢到下面19個rpm檔案,複製到一個資料夾,然後拷貝到centos上,進入 gcc-c++執行安裝命令 rpm -Uvh *.rpm --nodeps --force

安裝gcc-c++完成後,繼續之前操作,進入bulid目錄,編譯和安裝 ,make && make install

完成!