Golang 交叉编译方法
只需要指定目标操作系统的平台和处理器架构即可:
**命令行方式,**因为不支持CGO,所以要禁用CGO
- SET CGO_ENABLED=0 // 禁用CGO
- SET GOOS=linux // 目标平台是linux
- SET GOARCH=amd64 // 目标处理器架构是amd64
Mac 下编译 Linux 和 Windows 平台 64位 可执行程序
- CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
- CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Linux下编译 Mac 和 Windows 平台64位可执行程序
- CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
- CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Windows下编译Mac平台64位可执行程序
- SET CGO_ENABLED=0
- SET GOOS=darwin
- SET GOARCH=amd64
- go build
make file 方式
|
|
整个过程看起来非常简单,运行起来也非常简单,调用make release命令,并给VERSION变量赋值不同的版本号即可: make release VERSION=0.9
命令会编译出不同平台可运行的压缩包:
- ydict-mac64-0.9.tar.gz
- ydict-linux64-0.9.tar.gz
- ydict-win64-0.9.tar.gz
所有可以编译的系统,下面是源码:
https://github.com/golang/go/blob/master/src/go/build/syslist.go
|
|