go编译为linux可执行文件,go编译可执行文件_weixin_39918145的博客-CSDN博客 - 待整理 - 乱

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


原网址: 访问
创建于: 2022-10-13 10:50:20
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论