gcc --version
確認系統當前GCC版本,避免升級沖突。/etc
、/home
等關鍵目錄及配置文件,防止操作失誤導致數據丟失。sudo yum update
更新系統所有軟件包至最新版本,確保后續安裝兼容。SCL允許在不影響系統默認GCC的情況下,安裝和使用多個GCC版本,適合需要多版本共存的場景。
sudo yum install centos-release-scl
添加SCL軟件源。sudo yum install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
安裝GCC 9及其配套工具鏈。scl enable devtoolset-9 bash
啟動新shell會話,此時gcc --version
將顯示新版本。source /opt/rh/devtoolset-9/enable
添加到~/.bashrc
或~/.bash_profile
,每次登錄自動加載新版本。適合需要特定GCC版本(如最新穩定版)或無法通過倉庫獲取的場景。
ftp.gnu.org/gnu/gcc
)下載所需版本(如11.2.0),運行wget https://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz
下載,再用tar -xf gcc-11.2.0.tar.gz
解壓。sudo yum groupinstall "Development Tools"
安裝基礎開發工具,再運行sudo yum install gmp-devel mpfr-devel libmpc-devel
安裝GCC編譯所需的庫文件。build
子目錄并進入,運行../configure --prefix=/usr/local/gcc-11.2.0 --enable-languages=c,c++
配置編譯參數(--prefix
指定安裝路徑,--enable-languages
指定支持的語言)。make -j$(nproc)
(nproc
獲取CPU核心數,加速編譯),編譯完成后運行sudo make install
安裝到指定路徑。~/.bashrc
,添加export PATH=/usr/local/gcc-11.2.0/bin:$PATH
(優先使用新版本)和export LD_LIBRARY_PATH=/usr/local/gcc-11.2.0/lib64:$LD_LIBRARY_PATH
(指定庫文件路徑),運行source ~/.bashrc
使配置生效。通過第三方倉庫(如Remi)安裝預編譯的GCC版本,適合追求簡單快捷的用戶。
sudo yum install epel-release
添加EPEL(Extra Packages for Enterprise Linux)倉庫。sudo yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
添加Remi倉庫。sudo yum-config-manager --enable remi-toolchain
啟用Remi中的GCC工具鏈模塊。sudo yum install gcc-11
(以GCC 11為例)安裝目標版本。gcc --version
確認升級成功。update-alternatives
命令配置(如sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/gcc-11.2.0/bin/gcc 100
),但需謹慎操作,避免影響系統服務。sudo yum remove gcc
卸載,但需保留舊版本以防新版本出現問題(如無法編譯舊項目)。