您的位置:首页 >怎样在Ubuntu上交叉编译Golang
发布于2026-05-02 阅读(0)
扫一扫,手机访问
想在一台Ubuntu机器上,为Windows、macOS甚至ARM架构的Linux系统编译Go程序吗?交叉编译这个功能可以帮你实现,它让你无需在目标平台上安装Go环境,就能生成可运行的程序。下面这份指南,将带你一步步完成整个过程。

第一步,自然是确保你的Ubuntu系统已经安装了Go语言环境。如果还没安装,打开终端,执行下面这两条命令就能轻松搞定:
sudo apt update
sudo apt install golang-go
Go语言的交叉编译非常简洁,核心就在于设置两个环境变量:GOOS(目标操作系统)和GOARCH(目标架构)。这里列举几个常见的组合,方便你直接取用:
GOOS=windows GOARCH=amd64GOOS=linux GOARCH=armGOOS=darwin GOARCH=amd64GOOS=freebsd GOARCH=amd64环境变量准备好后,编译就是一条命令的事。假设你的Go项目就在当前目录,想要编译出一个Windows下的可执行文件,可以这样操作:
GOOS=windows GOARCH=amd64 go build -o myprogram.exe
同理,如果想编译出Linux ARM版本,命令则换成:
GOOS=linux GOARCH=arm go build -o myprogram
命令执行成功后,可执行文件就会出现在当前目录。如何确认它确实是我们想要的格式呢?使用file命令查看一下文件信息就清楚了:
file myprogram.exe # 查看Windows可执行文件信息
file myprogram # 查看Linux可执行文件信息
编译出来的程序,最终当然要在目标平台上运行。在Linux上运行Linux版本,命令很直接:
./myprogram
而Windows版本的可执行文件(例如myprogram.exe),则需要拷贝到Windows系统中,双击或在命令行中直接运行即可。
光说不练假把式,我们用一个经典的“Hello, World!”程序来演示。假设你有这样一个hello.go文件:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
现在,在Ubuntu上为Windows系统编译它:
GOOS=windows GOARCH=amd64 go build -o hello.exe hello.go
之后,把生成的hello.exe文件放到任何一台Windows电脑上,运行它就能看到问候语了。
遵循以上步骤,在Ubuntu上为各种平台交叉编译Golang程序,其实是一件相当轻松高效的事情。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9