Mac m1的交叉编译

Mac M1交叉编译问题

最近刚从window转到Mac系统,用Mac交叉编译window程序时遇到一点问题。

配置项 \ 目标系统 Mac Windows -
CGO_ENABLED 0 1 是否使用CGO,如果项目有用到c库的话,需要启用,看情况而定
GOOS darwin windows 目标程序的运行系统
GOARCH arm64/amd64 amd64 目标程序的运行环境的芯片架构,M1芯片用arm64
CC gcc x86_64-w64-mingw32-gcc 指定编译器

示例

Mac(编译)系统

# M1程序
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build main.go

# Mac程序(非M1)
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go

# window程序
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

Window(编译)系统

# M1程序
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build main.go

# Mac程序(非M1)
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go

# window程序
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

你可能感兴趣的:(Mac m1的交叉编译)