本文主要是介绍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
编译出的小很多。
dc lin 如何评价 GCC 11.1 发布? ↩︎
这篇关于Ubuntu 免build 安装gccgo 以编译Golang 1.16.3程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!