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
|
|
- 原文作者:NetworkABC
- 原文链接:https://networkabc.github.io/post/go/Golang-%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91%E6%96%B9%E6%B3%95/
- 当你停下脚步的时候你要知道,有很多比你牛逼的人物都在努力,你有什么理由不拼。