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=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交叉编译详细的文章就介绍到这了,更多相关golang交叉编译内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 三门问题(蒙提霍尔悖论)分析与Golang模拟
- 《Unix网络编程》第一卷第三版|《Unix网络编程》第一卷第三版 源码编译
- maven使用tomcat7插件编译jsp出错
- 嵌入式(编译内核、根文件系统等)
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- 使用交叉点观察器延迟加载图像以提高性能
- golang锁竞争性能
- Centos6源码编译安装2.4版本http服务步骤
- 一键编译部署Mysql
- 防止sql注入