如何为 Go 构建 8g 和 6g Go 编译器

问题描述 投票:0回答:2

我正在编写的软件将在 x86 和 x86-64 架构上的 Windows、Mac 和 Linux 系统中广泛部署。 每当我在 Mac 和 Linux 系统上设置 go 编译器时,我只能构建 6g 版本。 在 Windows 上,我只使用预构建的实验二进制文件,它使用 8g。

当我开始设置构建服务器时,我假设我还需要构建 8g,这样我也可以生成 32 位构建。 如何设置 8g,特别是在 Mac 上(因为它们可以是 x86 或 x64,具体取决于它们的年龄)?

go build x86 x86-64
2个回答
3
投票

您必须将环境变量

GOARCH
设置为
386
,而不是由
amd64
构建脚本自动选择
all.bash
。有关详细信息,请参阅 Go 文档中的环境变量


1
投票

正如另一位海报所说,使用

GOARCH
。他没有说的是你不需要多个目录。

运行

all.bash
两次,同样的
GOROOT

GOARCH=amd64 ./all.bash
GOARCH=386 ./all.bash

当您使用

gomake
设置
GOARCH
构建某些内容时,如果默认设置不适合您

GOARCH=386 gomake

不幸的是

goinstall
还不尊重
GOARCH

请注意,gc 编译器始终是交叉编译。一旦您拥有了所需架构的编译器,设置

GOOS
并在
$GOROOT/src/pkg
中构建软件包,那么您应该能够构建针对任何操作系统或架构的软件。

GOARCH=386 GOOS=windows gomake
© www.soinside.com 2019 - 2024. All rights reserved.