方法
假设所需的输出文件名称为name,而当前目录的主函数为main.go
Mac下编译Linux, Windows平台的64位可执行程序
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o name main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o name main.go
Linux下编译Mac, Windows平台的64位可执行程序
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o name main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o name main.go
Windows下编译Mac, Linux平台的64位可执行程序
SET CGO_ENABLED=0 SET GOOS=darwin3 SET GOARCH=amd64 go build -o name main.go
SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build -o name main.go
参数的名字分别对应的是:
GOOS:目标可执行程序运行操作系统,支持 darwin,freebsd,linux,windows
GOARCH:目标可执行程序操作系统构架,包括386,amd64,arm
Tips
在windows下,如果需要生成.exe文件。可以直接在name后面加上后缀.exe
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o name.exe main.go
在macOS下,如果需要生成app,可以按以下方式操作
mkdir -p name.app/Contents/MacOS
go build -o name.app/Contents/MacOS/zTrans