GCC8.1升级笔记

2 篇文章 0 订阅
2 篇文章 0 订阅

升级前准备工作参考之前《Debian8.5安装编译GCC6.1.0笔记》。

环境:

debian buster amd64

原GCC版本 7.3.0

1、从官网镜像下载gcc

https://gcc.gnu.org/mirrors.html 镜像站点列表,从这里选个看得顺眼的镜像站点,下载 gcc-8.1.0.tar.gz

(我用的是http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-8.1.0/gcc-8.1.0.tar.gz)

解压至一指定目录。如:

~/gcc-8.1.0

ps:建议以root登录。

2、安装依赖

apt install build-essential  libgmp-dev libmpfr-dev libmpc-dev

3、配置

进入~/gcc-8.1.0

./configure --disable-multilib  #因我只用64位版,所以不需要多架构,只需要amd64就行了

生成makefile文件

3、编译

直接运行make 

然后是漫长的编译(10小时以上)

4、安装

make install

默认安装在/usr/local/bin ,库安装于/usr/local/lib/gcc/x86_64-pc-linux-gnu/8.1.0

此时因安装的目录不在path,所以还是gcc 7.3

5、创建软链

1)删除原软链

cd /usr/bin && rm  g++ gcc #删除原gcc7软链

2)建立软链

cd /usr/local/bin && ln -s $(pwd)/gcc  /usr/bin/gcc

ln -s $(pwd)/g++ /usr/bin/g++

同样,/usr/local/lib/gcc/x86_64-pc-linux-gnu/8.1.0 软链到 /usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0

6、测试

建个临时测试文件check.cpp

#include <iostream>
int main(int argc,char** argv)
{
    using namespace std;
    cout<<__cplusplus<<endl;
    return 0;
}

编译 g++ check.cpp --std=c++2a

生成a.out 


可以看到__cplusplus的值已经是 201709L 了

如果是gcc 7.3,那么使用 --std=c++2a就会报错。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值