做图表的网站知乎,wordpress文章被采集,360建筑网撤销挂证,学编程去哪个培训机构好博客原文 文章目录 Golang 中的交叉编译不同操作系统间的编译Linux 下编译windowsmacos windows 下编译Linuxmacos macos 下编译Linuxwindows 不同架构下的编译amd64x86 参考 Golang 中的交叉编译
在 Golang 中#xff0c;交叉编译指的是在同一台机器上生成针对不同操作系统或…
博客原文 文章目录 Golang 中的交叉编译不同操作系统间的编译Linux 下编译windowsmacos windows 下编译Linuxmacos macos 下编译Linuxwindows 不同架构下的编译amd64x86 参考 Golang 中的交叉编译
在 Golang 中交叉编译指的是在同一台机器上生成针对不同操作系统或硬件架构的二进制文件。这在开发跨平台应用或构建特定平台的发布版本时非常有用。
不同操作系统间的编译
Linux 下编译
windows
$ CGO_ENABLED0 GOOSwindows GOARCHamd64 go build main.gomacos
$ CGO_ENABLED0 GOOSdarwin GOARCHamd64 go build main.gowindows 下编译
Linux
SET CGO_ENABLED0
SET GOOSlinux
SET GOARCHamd64
go build main.go推荐 git 终端: CGO_ENABLED0 GOOSlinux GOARCHamd64 go build main.go macos
SET CGO_ENABLED0
SET GOOSdarwin
SET GOARCHamd64
go build main.gogit 终端: CGO_ENABLED0 GOOSdarwin GOARCHamd64 go build main.go macos 下编译
Linux
$ CGO_ENABLED0 GOOSlinux GOARCHamd64 go build main.gowindows
$ CGO_ENABLED0 GOOSwindows GOARCHamd64 go build main.go不同架构下的编译
amd64
$ CGO_ENABLED0 GOOSlinux GOARCHamd64 go build main.gox86
$ CGO_ENABLED0 GOOSlinux GOARCH386 go build main.go注意不是 x86 上面几个示例中各环境变量的意思如下
CGO_ENABLEDCGO_ENABLED0 意思是禁用 CGO因为交叉编译不能启用 CGO。GOOS表示目标平台例如 mac 系统对应 darwinlinux 系统对应 linuxwindows 系统对应 windows等。GOARCH目标平台的架构例如 amd64arm等。
参考 [Golang 中的交叉编译详解 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/649520911#:~:textGolang 中的交叉编译在,Golang 中交叉编译指的是在同一台机器上生成针对不同操作系统或硬件架构的二进制文件。 这在开发跨平台应用或构建特定平台的发布版本时非常有用。)Go 交叉编译 (跨平台编译) - 知乎 (zhihu.com)