我正在编写的软件将在 x86 和 x86-64 架构上的 Windows、Mac 和 Linux 系统中广泛部署。 每当我在 Mac 和 Linux 系统上设置 go 编译器时,我只能构建 6g 版本。 在 Windows 上,我只使用预构建的实验二进制文件,它使用 8g。
当我开始设置构建服务器时,我假设我还需要构建 8g,这样我也可以生成 32 位构建。 如何设置 8g,特别是在 Mac 上(因为它们可以是 x86 或 x64,具体取决于它们的年龄)?
正如另一位海报所说,使用
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