2.0 KiB
2.0 KiB
本文作者:丁辉
源码升级Gcc
-
下载源码包
wget https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.gz
-
解压源码包
tar -zxvf gcc-*.tar.gz && cd gcc-*
-
配置编译项
./configure --prefix=/usr/local/gcc-13.2.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib
遇到报错:configure: error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.
解决方案:gcc 目录下执行如下命令即可解决
./contrib/download_prerequisites
构建参数
参数 含义 ./configure 源代码安装软件时用于配置软件包 --enable-checking=release 启用编译器的检查功能,但仅限于 release 模式 --enable-languages=c,c++ 指定 GCC 将支持 C 和 C++ 编程语言 --disable-multilib 禁用 GCC 的多架构支持,使其只会生成与主系统架构相匹配的代码 -
开始编译
make
同时运行
make -j 4
-
编译安装
make install
-
替换旧版本, 移除旧版本
mv /usr/bin/gcc /usr/bin/gcc.bak mv /usr/bin/g++ /usr/bin/g++.bak mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
-
制作软连接
ln -s /usr/local/gcc-13.2.0/bin/gcc /usr/bin/gcc ln -s /usr/local/gcc-13.2.0/bin/g++ /usr/bin/g++ ln -s /usr/local/gcc-13.2.0/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6
-
查看动态库
strings /usr/lib64/libstdc++.so.6 | grep CXXABI
-
验证版本
gcc --version