一、下载源码包

官方下载网址如下:https://ftp.gnu.org/gnu/gcc/,选择你想要的 gcc 版本,下载对应的 tar 包,这里我下载的是 gcc-6.3.0.tar.gz

cd ~/Downloads
wget https://ftp.gnu.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.gz

下载速度还行。也可以使用我创建好的资源包:gcc-6.3.0源码包(已处理好依赖关系,包含Makefile)


二、准备工作

1. 创建存储目录

这里我选择将编译后的文件存储/usr/local/gcc 目录下:

sudo mkdir /usr/local/gcc

回到 Downloads 文件夹,解压 tar 包:

cd ~/Downloads
tar -zxf gcc-6.3.0.tar.gz

进入解压后的目录:

cd gcc-6.3.0

2. 下载编译相关依赖

使用如下命令下载并自动编译相关依赖,注意连上网络

./contrib/download_prerequisites

3. 配置编译选项

配置你的安装目录以及部分选项,全部选项在 INSTALL 目录里可以细看:

./configure --prefix=/usr/local/gcc/gcc-6.3.0 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --disable-libsanitizer

这里的 /usr/local/gcc/gcc-6.3.0 为我的安装目录,可自行设置,后面的编译选项记得带上,已踩坑。


三、编译安装gcc

执行 make 命令编译源码:

make

这个过程有点长,建议出门喝杯咖啡,若出现报错参考此博客:gcc源码编译报错:error: dereferencing pointer to incomplete type ‘struct ucontext’ 解决办法

接着执行以下命令安装:

sudo make install

四、配置系统gcc版本

查看系统已安装 gcc 版本:

ls -l /usr/bin/gcc*

为 gcc-6.3 设置软连接:

sudo ln -s /usr/local/gcc/gcc-6.3.0/bin/gcc /usr/bin/gcc-6

添加到系统管理器中:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 40

切换你当前使用的 gcc 版本:

sudo update-alternatives --config gcc

同时配置 g++6.3.0:

sudo ln -s /usr/local/gcc/gcc-6.3.0/bin/g++ /usr/bin/g++-6

接着

sudo update-alternatives  --install /usr/bin/g++ g++ /usr/bin/g++-6 40

切换系统 g++ 版本:

sudo update-alternatives --config g++

五、检验安装

查看系统 gcc 版本:

gcc --version

查看系统 g++ 版本:

g++ --version

在这里插入图片描述
大功告成!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐