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=0set GOOS=darwinset GOARCH=amd64go build main.go

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

set CGO_ENABLED=0set GOOS=linuxset GOARCH=amd64go build main.go 2.2 linux

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

export CGO_ENABLED=0export GOOS=darwinexport GOARCH=amd64go build main.go

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

export CGO_ENABLED=0export GOOS=windowsexport GOARCH=amd64go build main.go 2.3 Mac OS

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

export CGO_ENABLED=0export GOOS=windowsexport GOARCH=amd64go build main.go

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

export CGO_ENABLED=0export GOOS=linuxexport GOARCH=amd64go build main.go 3、备注 3.1 CGO_ENABLED解释

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

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

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。