1. 下载 GCC 源码

GCC的官方网站地址 :GCC, the GNU Compiler Collection- GNU Project

你可以从 GCC 的官方镜像站点下载所需版本的源码包。这里以 GCC 14.2.0为例:

wget https://ftp.gnu.org/gnu/gcc/gcc-14.2.0/gcc-14.2.0.tar.xz

2. 解压源码包

下载完成后,使用以下命令解压源码包:

tar -zvf gcc-14.2.0.tar.xz
cd gcc-13.2.0

3. 下载依赖库

GCC 编译需要一些额外的依赖库,你可以使用自带的脚本进行下载:

./contrib/download_prerequisites

如果出现错误下载错误

./contrib/download_prerequisites gettext-0.22.tar.gz: FAILED sha512sum: WARNING: 1 computed checksum did NOT match error: Cannot verify integrity of possibly corrupted file gettext-0.22.tar.gz

可以尝试删除文件,重新下载

  1. rm -rf gettext-0.22.tar.gz

  2. ./contrib/download_prerequisites

5. 创建编译目录

为了避免在源码目录中直接进行编译,建议创建一个单独的编译目录:

mkdir build
cd build

6. 配置编译选项

在编译之前,需要使用 configure 脚本来配置编译选项。以下是一个基本的配置命令示例:

默认安装目录:

../configure --enable-languages=c,c++ --disable-multilib

指定安装目录: 

../configure --prefix=/usr/local/gcc-13.2.0 \
             --enable-languages=c,c++ \
             --disable-multilib
  • --prefix:指定 GCC 的安装路径。
  • --enable-languages:指定要支持的编程语言,这里选择了 C 和 C++。
  • --disable-multilib:禁用多架构支持,如果你只需要单架构的编译支持,可以使用该选项来简化编译过程。

 7. 编译 GCC

配置完成后,使用 make 命令进行编译。为了加快编译速度,可以使用 -j 参数指定并行编译的线程数,一般建议设置为 CPU 核心数加 1:

直接编译:

make

指定并行编译:

make -j$(nproc + 1)
说明:这个并行编译,对机器性能要求高,我在测试并行编译的时候,就把机器搞死机了。
机器性能不好的,还是用 make ,要耐心等待编译,时间会长一些

8. 安装 GCC

编译完成后,使用 make install 命令将编译好的 GCC 安装:

make install

9. 配置环境变量(如果是指定目录安装)

安装完成后,需要配置环境变量,以便系统能够找到新安装的 GCC。编辑 ~/.bashrc 或 ~/.zshrc 文件,添加以下内容:

export PATH=/usr/local/gcc-13.2.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc-13.2.0/lib64:$LD_LIBRARY_PATH

使配置生效:

source ~/.bashrc

如果选择默认安装目录就可以不用配置环境变量,直接建立软链就可以,如果有老的gcc的版本,最好备份一下,再覆盖原来的软链

备份老的gcc相关:
[root@k8s-node9 build]  mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
[root@k8s-node9 build]  mv /usr/bin/gcc /usr/bin/gccbak
[root@k8s-node9 build]  mv /usr/bin/g++ /usr/bin/g++bak
[root@k8s-node9 build]  mv /usr/bin/c++ /usr/bin/c++bak 
[root@k8s-node9 build]  mv /usr/bin/cc /usr/bin/ccbak
————————————————

安装的gcc新版本位于/usr/local/bin目录下面,需要为新版本gcc创建软链接:

 [root@k8s-node9 build]  ln -s /usr/local/bin/c++ /usr/bin/c++
 [root@k8s-node9 build]  ln -s /usr/local/bin/g++ /usr/bin/g++
 [root@k8s-node9 build]  ln -s /usr/local/bin/gcc /usr/bin/gcc
 [root@k8s-node9 build]  ln -s /usr/local/bin/cc /usr/bin/cc
 [root@k8s-node9 build]  ln -s /usr/local/lib64/libstdc++.so.6.0.29 /usr/lib64/libstdc++.so.6
————————————————           

10. 验证安装

最后,使用以下命令验证 GCC 是否安装成功:

gcc --version
g++ --version

如果成功显示 GCC 的版本信息,则说明安装成功。

注意事项

  • 编译 GCC 是一个非常耗时的过程,需要耐心等待。
  • 确保系统有足够的磁盘空间和内存来完成编译和安装过程。
  • 如果在编译过程中遇到问题,可以查看 config.log 文件获取详细的错误信息。
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐