在 Ubuntu 上为其他平台编译 Golang 程序,您需要安装交叉编译工具链。以下是在 Ubuntu 上为不同平台编译 Golang 程序的步骤:
对于 Windows:
sudo apt-get install mingw-w64
对于 macOS:
sudo apt-get install gccdarwin
对于 Linux(其他发行版):
sudo apt-get install gcc-multilib
设置 GOOS 和 GOARCH 环境变量以指定目标操作系统和架构。例如,要为 Windows 64位编译程序,请执行以下命令:
export GOOS=windows
export GOARCH=amd64
对于 macOS:
export GOOS=darwin
export GOARCH=amd64
对于 Linux(其他发行版):
export GOOS=linux
export GOARCH=amd64
现在,使用 go build 命令编译程序。例如,如果您的源代码文件名为 main.go,则执行以下命令:
go build -o your_output_file_name
这将生成一个可执行文件,可以在指定的目标平台上运行。
完成编译后,您可以取消设置环境变量,以便在当前 shell 会话中恢复默认值:
unset GOOS
unset GOARCH
将生成的可执行文件传输到目标平台,并确保它具有可执行权限。在目标平台上运行可执行文件,您应该能够看到预期的输出。
注意:在某些情况下,您可能还需要为目标平台设置其他环境变量,例如 CGO_ENABLED=0。这取决于您的程序是否依赖于 CGo。如果您的程序不使用 CGo,可以尝试设置此变量以避免潜在的构建问题。