Golang 在 Mac、Linux、Windows 下如何交叉编译

转自 https://blog.csdn.net/panshiqu/article/details/53788067

Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下。

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

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

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

CGO_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位可执行程序

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

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

GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)
GOARCH:目标平台的体系架构(386、amd64、arm)
交叉编译不支持 CGO 所以要禁用它

上面的命令编译 64 位可执行程序,你当然应该也会使用 386 编译 32 位可执行程序
很多博客都提到要先增加对其它平台的支持,但是我跳过那一步,上面所列的命令也都能成功,且得到我想要的结果,可见那一步应该是非必须的,或是我所使用的 Go 版本已默认支持所有平台。

原文地址:https://www.cnblogs.com/grimm/p/12036414.html

时间: 2024-10-31 20:02:28

Golang 在 Mac、Linux、Windows 下如何交叉编译的相关文章

使用VS Code配合Remote Development插件连接远程服务器(Mac/Linux+Windows) | Using VS Code with Remote Development Connect to Remote Server (Mac/Linux+Windows)

最新版VS Code(2019年6月)出了一系列新的插件,包括Remote Development,Remote SSH等,使得用户可以使用VS Code远程连接服务器写代码,方便了协同工作.具体配置(Mac/Linux, Windows)操作如下: 1.首先,在插件市场中搜索这些插件,安装Remote Development即可将一系列插件,包括Remote SSH等一同安装. 2.接下来需要生成ssh的key. 打开命令行,输入: ssh-keygen -t rsa -b 4096 接下来,

Mac /Ubuntu/Windows 下安装nodejs

Mac If you're using the excellent homebrew package manager, you can install node with one command: brew install node. Otherwise, follow the below steps: Install Xcode. Install git. Run the following commands: darwin_setup.sh git clone git://github.co

在Mac/Linux/Windows上编译corefx遇到的问题及解决方法

这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编译都失败了.后来一一都解决了,在这篇博文中分享一下. (一) 在Mac上编译corefx遇到的错误如下: /git/dotnet/corefx/dir.props(214,5): warning : The Roslyn targets do not exist- Roslyn will not b

Golang 在 Mac、Linux、Windows 下如何交叉编译(转)

Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下. Mac 下编译 Linux 和 Windows 64位可执行程序 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go Linux 下编译 Mac 和 Windows 64位可执行程序 CGO_ENABLED=0 GOO

在 Mac、Linux、Windows 下Go交叉编译

Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下. Mac 下编译 Linux 和 Windows 64位可执行程序 1 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go 2 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go Linux 下编译 Mac 和 Windows 64位可执行程序 1 CGO_ENABLED

phpstorm分别在Mac和Windows下启动命令行,并启用ssh

Mac:在terminal下运行 sudo -i 输入密码  就可以用ssh IP:端口  命令行登录了 DAssist是一个命令行开发辅助,可直接在系统命令行工具中使用,Linux和MacOS等自带命令终端的系统好说,windows下也有cmd和powerShell.那么如何结合开发IDE工具进行使用?这要求编程使用的IDE必须支持terminal(默认支持或者插件扩展支持均可),PHP Web开发常用工具有jetBrains系列的phpStorm.WebStorm,也有用Sublime Te

linux windows下oenvpn客户端的用法

windows下使用openvpn客户端 1.下载openvpn-2.2.0-install.zip客户端安装包 2.解压到你要安装的目录,如D盘的openvpn目录下 3.解压后会有openvpn-2.2.0-install.exe软件.双击,一路向前安装即可 4.在安装目录下的bin目录会有openvpn-gui-1.0.3.exe,双击即可打开vpn客户端.(桌面也会有OpenVPN GUI) 5.把openvpn服务端上的keys目录下,和客户端相关的内容下载下来. 相关的文档有 ca.

游戏制作之路:游戏引擎选择、Mac下和Windows下UnrealEngine 4体验对比、文档及其他

UnrealEngine 4和Unity3d的选择 订阅了UrealEngine4(UE4)开发者.我开始做网站用的是ASP.NET和C#,之后做网站虽然换用更方便的PHP(因为做的都是小网站).我想说,做了长达7年的小网站就算我再水,但是C#我还是懂一些的,而Unity3d刚刚好最建议用的就是C#.C++我不懂,只在高中毕业后看了C++编程思想并把大部分例子都手打入电脑并运行.不极是在肖极Unity3d在移动端有大量成功的案例,文档非常好,视频教程也很全,研究的人也非常多,有问题很容易找到文案

java File linux windows 下 绝对路径 相对路径问题

前言 当前项目目录 windows 为  E:\project\testpro\ linux 为  /project/testpro/ Windows环境下获取绝对路径情况 使用 a/b/c 为路径,获取绝对路径:  new File("a/b/c").getAbsolutePath() 其得到路径为  E:\project\testpro\sspt-sppt\a\b\c 使用 /a/b/c 路径,获取绝对路径  new File("/a/b/c").getAbso