go 跨平台编译linux,golang 跨平台编译

只需要指定目标操作系统的平台和处理器架构即可:

命令行方式

因为不支持CGO,所以要禁用CGO

SET CGO_ENABLED=0 // 禁用CGO

SET GOOS=linux // 目标平台是linux

SET GOARCH=amd64 // 目标处理器架构是amd64

然后再执行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

make file 方式

# Binary name

BINARY=your_app_name

# Builds the project

build:

go build -o ${BINARY}

go test -v

# Installs our project: copies binaries

install:

go install

release:

# Clean

go clean

rm -rf *.gz

# Build for mac

go build

tar czvf ydict-mac64-${VERSION}.tar.gz ./ydict

# Build for linux

go clean

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build

tar czvf your_app_name-linux64-${VERSION}.tar.gz ./ydict

# Build for win

go clean

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

tar czvf your_app_name-win64-${VERSION}.tar.gz ./ydict.exe

go clean

# Cleans our projects: deletes binaries

clean:

go clean

.PHONY: clean build

整个过程看起来非常简单,运行起来也非常简单,调用make release命令,并给VERSION变量赋值不同的版本号即可:

make release VERSION=0.9

命令会编译出不同平台可运行的压缩包:

ydict-mac64-0.9.tar.gz

ydict-linux64-0.9.tar.gz

ydict-win64-0.9.tar.gz

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值