go 交叉编译避坑贴

2022-04-09  本文已影响0人  吻_风

我查看了网上很多的文章,但是实际编译出来的文件经常无法运行。现在我这里总结一下帮助大家避坑

1、使用bash类终端进行编译(比如mac linux 或者windows下gitbash等)

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build xxx.go
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build xxx.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build xxx.go

2、使用windows下的cmd编译

set CGO_ENABLED=0
set GOOS=linux
set GOARCH=amd64
go build xxx.go
set CGO_ENABLED=0
set GOOS=darwin
set GOARCH=amd64
go build filename.go
 go build xxx.go

3、使用windows下的PowerShell编译

$env:CGO_ENABLED="0"
$env:GOOS="linux"
$env:GOARCH="amd64"
go build xxx.go
$env:CGO_ENABLED="0"
$env:GOOS="darwin"
$env:GOARCH="amd64"
go build xxx.go
 go build xxx.go

另外需要注意:如果系统不是x86_64的,在GOARCH这里改正对应的系统架构,比如arm64等

上一篇 下一篇

猜你喜欢

热点阅读