Ubuntu 免build 安装gccgo 以编译Golang 1.16.3程序

Setting up and using gccgo可知

  • The GCC 11 releases include a complete implementation of the Go 1.16.3 release.

也就是说gccgo-11是可以编译go 1.16.3的程序的,对目前来说已经足够,不会出现方法未定义等问题。

当然,编译安装也是可行的,但是在时间和存储空间上都不太合算,因此可以参考下面的方法,通过添加软件源进行直接安装。

安装Go1.16.3

理论上安装1.16.3+版本都不会有太大问题,笔者测试时通过的安装版本为1.16.4

Ububtu20目前默认的Golang版本是1.13,而虽然snap可以安装任意版本,但是在构建gccgo所需std库时会出现目录不可写的错误,因此需要从官网下载1.16.3版本的安装包,解压到/usr/local并将Go目录添加到$PATH环境变量。

  • 编辑~/.bashrc,添加
export PATH=$PATH:/usr/local/go/bin
  • 刷新
source ~/.bashrc

安装GCCGo

1. 安装本体

先将ubuntu-toolchain-r/test PPA添加到系统,然后直接进行安装即可1

sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt install gccgo-11

2. 构建std库

输入如下命令构建gccgo所需std

go install -buildmode=shared -linkshared std

建立链接并验证安装

  • 由于安装后gccgo位于/usr/bin/gccgo-11,还需要设置别名或直接将该文件链接到/usr/bin/gccgo以使Go能正常识别。
  • 现在已经安装成功,可以使用-compiler gccgo参数构建以进行验证。理论上编译出的文件应当比gc编译出的小很多。

  1. dc lin 如何评价 GCC 11.1 发布? ↩︎

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值