windows上交叉编译linux可执行文件

交叉编译 go语言l,可执行文件

在一个平台上生成另一个平台可执行的文件,就叫做交叉编译。

一个cpu体系可以有不同的操作系统,一个操作系统也可以使用不同的架构平台。

1.查看go版本:

go version
//go version go1.17.3 windows/amd64

2.交叉编译非常方便:

需要在cmd上设置环境变量:

set GOARCH=amd64
set GOOS=linux
go build
或

SET CGO_ENABLED=0  // 禁用CGO
SET GOOS=linux  // 目标平台是linux
SET GOARCH=amd64  // 目标处理器架构是amd64
go build

Windows下编译Linux平台 可执行程序:

SET CGO_ENABLED=0  // 禁用CGO
SET GOOS=linux  // 目标平台是linux
SET GOARCH=amd64  // 目标处理器架构是amd64
使用了cgo的代码是不支持跨平台编译的
然后再执行go build命令,得到的就是能够在Linux平台运行的可执行文件了。
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

你可能感兴趣的:(golang)