Golang 学习 ---- 编译打包
? golang 是编译型语言,在打包部署的时候需要编译成对应的目标
编译到服务器(比如Linux服务器),需要在机器上安装MingGW c++ 编译环境
安装教程 windows支持make 以及 gcc (安装MinGW) · 语雀 (yuque.com)
常见的设备与架构对应表格。
| GOOS | GOARCH |
|---|---|
| aix | ppc64 |
| android | 386 |
| android | amd64 |
| android | arm |
| android | arm64 |
| darwin | 386 |
| darwin | amd64 |
| darwin | arm |
| darwin | arm64 |
| dragonfly | amd64 |
| freebsd | 386 |
| freebsd | amd64 |
| freebsd | arm |
| illumos | amd64 |
| js | wasm |
| linux | 386 |
| linux | amd64 |
| linux | arm |
| linux | arm64 |
| linux | ppc64 |
| linux | ppc64le |
| linux | mips |
| linux | mipsle |
| linux | mips64 |
| linux | mips64le |
| linux | s390x |
| netbsd | 386 |
| netbsd | amd64 |
| netbsd | arm |
| openbsd | 386 |
| openbsd | amd64 |
| openbsd | arm |
| openbsd | arm64 |
| plan9 | 386 |
| plan9 | amd64 |
| plan9 | arm |
| solaris | amd64 |
| windows | 386 |
| windows | amd64 |
windows 编译 Linux,mac 可执行文件
SET CGO_ENABLED=0
SET GOOS=windows/linux/darwin[这里填商标中对应的]
SET GOARCH=amd64
go build -o demo.exe main.go
Linux 编译 Windows,mac 可执行文件
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o demo-linux main.go
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o demo-mac main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o demo-windows.exe main.go
MAC 编译windows,Linux 可执行文件
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o demo-linux main.go
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o demo-mac main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o demo-windows.exe main.go