服务器之家

服务器之家 > 正文

golang交叉编译详细

时间:2021-11-18 10:25     来源/作者:西瓜皮上写代码

golang交叉编译详细

1、环境变量对照表

golang交叉编译环境变量对照表

golang交叉编译详细

?
1
GOOS | GOARCH | OS VERSION ---|---|--- linux | 386 / amd64 / arm | >= Linux 2.6 darwin | 386 / amd64 | OX X (Snow Leopard + Lion) freebsd | 386 / amd64 | >= FreeBSD 7 windows | 386 / amd64 | >= Windows 2000

2、使用

2.1 Windows

Windows 下编译 Mac 64位可执行程序

?
1
2
3
4
5
set CGO_ENABLED=0
set GOOS=darwin
set GOARCH=amd64
 
go build main.go

Windows 下编译 Linux 64位可执行程序

?
1
2
3
4
5
set CGO_ENABLED=0
set GOOS=linux
set GOARCH=amd64
 
go build main.go

2.2 linux

Linux 下编译 Mac 64位可执行程序

?
1
2
3
4
5
export CGO_ENABLED=0
export GOOS=darwin
export GOARCH=amd64
 
go build main.go

Linux 下编译 Windows 64位可执行程序

?
1
2
3
4
5
export CGO_ENABLED=0
export GOOS=windows
export GOARCH=amd64
 
go build main.go

2.3 Mac OS

Mac 下编译 Windows 64位可执行程序

?
1
2
3
4
5
export CGO_ENABLED=0
export GOOS=windows
export GOARCH=amd64
 
go build main.go

Mac 下编译 Linux 64位可执行程序

?
1
2
3
4
5
export CGO_ENABLED=0
export GOOS=linux
export GOARCH=amd64
 
go build main.go

3、备注

3.1 CGO_ENABLED解释

默认情况下,Goruntime环境变量CGO_ENABLED=1,即默认开始cgo,允许你在Go代码中调用C代码

如果标准库中是在CGO_ENABLED=1情况下编译的,那么编译出来的最终二进制文件可能是动态链接,所以建议设置 CGO_ENABLED=0以避免移植过程中出现的不必要问题。

到此这篇关于golang交叉编译详细的文章就介绍到这了,更多相关golang交叉编译内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://zhuanlan.zhihu.com/p/377530723

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部