Golang交叉编译是怎样的,要点是什么
导读:在实际案例的操作过程中,我们可能会遇到“Golang交叉编译是怎样的,要点是什么”这样的问题,那么我们该如何处理和解决这样的情况呢?这篇小编就给大家总结了一些方法,具有一定的借鉴价值,希望对大家有所帮助,接下来就让小编带领大家一起了解看看吧...
在实际案例的操作过程中,我们可能会遇到“Golang交叉编译是怎样的,要点是什么”这样的问题,那么我们该如何处理和解决这样的情况呢?这篇小编就给大家总结了一些方法,具有一定的借鉴价值,希望对大家有所帮助,接下来就让小编带领大家一起了解看看吧。目录
- 1、环境变量对照表
- 2、使用
- 2.1 Windows
- 2.2 linux
- 2.3 Mac OS
- 3、备注
- 3.1 CGO_ENABLED解释
1、环境变量对照表
golang交叉编译环境变量对照表
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位可执行程序
set CGO_ENABLED=0 set GOOS=darwin set GOARCH=amd64 go build main.go
Windows 下编译 Linux 64位可执行程序
set CGO_ENABLED=0 set GOOS=linux set GOARCH=amd64 go build main.go
2.2 linux
Linux 下编译 Mac 64位可执行程序
export CGO_ENABLED=0 export GOOS=darwin export GOARCH=amd64 go build main.go
Linux 下编译 Windows 64位可执行程序
export CGO_ENABLED=0 export GOOS=windows export GOARCH=amd64 go build main.go
2.3 Mac OS
Mac 下编译 Windows 64位可执行程序
export CGO_ENABLED=0 export GOOS=windows export GOARCH=amd64 go build main.go
Mac 下编译 Linux 64位可执行程序
export CGO_ENABLED=0 export GOOS=linux export GOARCH=amd64 go build main.go
3、备注
3.1 CGO_ENABLED解释
默认情况下,Go
的runtime
环境变量CGO_ENABLED=1
,即默认开始cgo
,允许你在Go代码中调用C代码
如果标准库中是在CGO_ENABLED=1
情况下编译的,那么编译出来的最终二进制文件可能是动态链接,所以建议设置 CGO_ENABLED=0
以避免移植过程中出现的不必要问题。
感谢各位的阅读,以上就是“Golang交叉编译是怎样的,要点是什么”的内容了,通过以上内容的阐述,相信大家对Golang交叉编译是怎样的,要点是什么已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注网络,网络将为大家推送更多相关知识点的文章。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Golang交叉编译是怎样的,要点是什么
本文地址: https://pptw.com/jishu/653483.html