864 B
864 B
一 交叉编译
交叉编译是在一个平台上生成另一个平台上的可执行代码。
1.1 Go1.5及之后的交叉编译
Go1.5编译工具链也是使用Go语言书写,Go编译器内置交叉编译功能,只需要时和之GOOS和GOARCH即可进行交叉编译:
# 进入源码目录
# 编译为Linux目标文件(如果要编译为win,则GOOS=windows)
GO ENABLED=O GOOS=linux GOARCH=amd64 go build xxx.go
1.2 Go1.4及之前的交叉编译
Go1.4之前,由于编译器是C语言书写,交叉编译前需要在当前平台构建一个目标平台的编译环境,然后通过设置GOOS和GOARCH进行交叉编译:
# 进入源码目录
# 在Linux下构建Win的交叉编译环境
CGO ENABLED=O GOOS=windows GOARCH=amd64 . /make . bash
# 交叉编译
CGO ENABLED= O GOOS=windows GOARCH=amd64 go build xxx.go