go编译为linux可执行文件,go编译可执行文件

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

交叉编译工具gox

Golang 交叉编译跨平台的可执行程序 (Mac、Linux、Windows )

Golang支持交叉编译,也就是说你在32位平台的机器上开发,可以编译生成64位平台上的可执行程序.mac 下可以编译linux 下的执行程序 又或者windows下的执行程序

交叉编译依赖下面几个环境变量:

$GOARCH 目标平台(编译后的目标平台)的处理器架构(386、amd64、arm)

$GOOS 目标平台(编译后的目标平台)的操作系统(darwin、freebsd、linux、windows)OSARCHOS versionlinux386 / amd64 / arm>= Linux 2.6

darwin386 / amd64OS X (Snow Leopard + Lion)

freebsd386 / amd64>= FreeBSD 7

windows386 / amd64>= Windows 2000

不带前面参数的 go build 只是编译出开发环境适用的执行文件。

windows 下面的专有参数,去掉运行后的 dos 黑窗口

go build -ldflags=”-H windowsgui”

Mac 下编译 Linux 和 Windows 64位可执行程序1

2

3

4

5

6CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

CGO_ENABLED=0 GOOS=windows GOARCH=386 go build main.go

//编译目录

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build

Linux 下编译 Mac 和 Windows 64位可执行程序1

2CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

Windows 下编译 Mac 和 Linux 64位可执行程序1

2

3

4SET CGO_ENABLED=0

SET GOOS=darwin

SET GOARCH=amd64

go build main.go1

2

3

4SET CGO_ENABLED=0

SET GOOS=linux

SET GOARCH=amd64

go build main.go

静态编译 zmq1

2

3CGO_CPPFLAGS="-I/usr/include"

CGO_LDFLAGS="-L/usr/lib -L/usr/lib/z86_64-linux-gnu -lzmq -lpthread -lsodium -lrt -lstdc++ -lm -lc -lgcc"

go get --ldflags '-extldflags "-static"' -a myapp/usingzmq4

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值