golang交叉编译
golang的交叉编译。
golang的交叉编译非常简单,只要配好对应的环境变量后再go build
就可以了。
需要配置以下的环境变量。
CGO_ENABLED
默认情况下这个变量为1。
交叉编译不支持cgo,所以需要关闭cgo。
linux/unix下为CGO_ENABLED=0
。
windows下为set CGO_ENABLED=0
。
GOOS
需要编译的目标运行系统。默认情况下,这个变量设置对应的操作系统。mac为darwin
,
linux为linux
,windows为windows
。
所有的值如下:
定义在https://github.com/golang/go/blob/master/src/go/build/syslist.go#L7
我们只要把这个变量设置到对应的操作系统即可。
linux/unix下为
windows下为
GOARCH
需要编译的目标cpu架构。支持amd64和386等。
所有的值如下:
定义在https://github.com/golang/go/blob/master/src/go/build/syslist.go#L8
linux/unix下为
windows下为
例子
Mac下交叉编译linux
|
|
Mac/linux下交叉编译windows
|
|
linux下编译编译Mac
|
|
windows下编译linux
|
|
windows下编译mac
|
|
- 本文链接:https://tenfy.cn/2017/10/17/golang-cross-compile/
- 版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0许可协议。转载请注明出处!