安装依赖环境
sudo dnf groupinstall "Development Tools" -y
sudo dnf install gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel isl isl-devel zlib-devel wget make bzip2 -y
若系统未提供默认的gcc与cmake则还需要安装gcc、g++与cmake
sudo dnf install -y gcc g++ cmake
解压GCC源码包并进入目录
下载依赖库源码
./contrib/download_prerequisites
创建构建目录并在其下进行编译
cd ..
mkdir gcc-build
cd gcc-build
配置编译
../gcc-14.2.0/configure \
--prefix=/usr/local/gcc-14.2 \
--disable-multilib \
--enable-languages=c,c++ \
--enable-checking=release
gcc-14.2.0 根据实际gcc版本及解压目录替换
编译
make -j$(nproc)
make install
配置环境
在.bashrc或.bash_profile(openEular)中添加
LD_LIBRARY_PATH=/usr/local/gcc14/lib64/:$LD_LIBRARY_PATH
export PATH
export LD_LIBRARY_PATH
通过alternatives管理版本切换时,无需将bin路径导出到PATH
版本选择配置
sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/gcc-14.2/bin/gcc 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/local/gcc-14.2/bin/g++ 50
sudo update-alternatives --config gcc
- --install 安装配置信息
- /usr/bin/gcc 版本切换的注册可执行文件的地址,即生成的软连接位置
- gcc 注册的组名, 管理使用
- /usr/local/gcc-14.2/bin/gcc 实际的可执行文件路径
- 50 优先级,数值越大优先级越高
- --slave /usr/bin/g++ g++ /usr/local/gcc-14.2/bin/g++ : 绑定切换,切换gcc时自动切换g++
版本切换
sudo update-alternatives --config gcc
# gcc为组名
# 根据提示输入序号来选择版本