golang 交叉编译总结

golang 交叉编译

golang 交叉编译牵涉到三个变量


CGO_ENABLED = 0 表示设置CGO工具不可用,使用go自己的编译器
GOOS:目标操作系统
GOARCH 表示程序构建环境的目标计算架构 比如:386,amd64,arm,arm64,ppc64,ppc64le,mips,mipsle,mips64,mips64le
386为32位 amd64位64位系统

OS	ARCH	OS version
linux	386 / amd64 / arm	>= Linux 2.6
darwin	386 / amd64	OS X (Snow Leopard + Lion)
freebsd	386 / amd64	>= FreeBSD 7
windows	386 / amd64	>= Windows 2000


go tool dist list
查询当前交叉编译支持的版本

//以下操作,都交叉编译不支持 CGO 所以要禁用它
//windows下使用go编译器编译64位linux可执行程序
SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build -o ./bin/main main.go
//windows下使用go编译器编译32位linux可执行程序
SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=386 go build -o ./bin/main main.go

//windows下使用go编译器编译64位windows可执行程序
SET CGO_ENABLED=0 SET GOOS=windows SET GOARCH=amd64 go build -o ./bin/main main.go
//windows下使用go编译器编译32位windows可执行程序
SET CGO_ENABLED=0 SET GOOS=windows SET GOARCH=386 go build ./bin/main main.go

附录图一张,来自某人的文件,感谢。

猜你喜欢

转载自blog.csdn.net/lengyue1084/article/details/108242473
今日推荐