当前位置: 首页 > 面试题库 >

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

史俊德
2023-03-14
问题内容

我正在编写将在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


 类似资料:
  • webpack配置 下图是采用 Mpx 开发小程序时,一个简短的 webpack 配置。配置说明可参考图中注释以及子项说明。 module.exports = { entry: { app: resolveSrc('app.mpx') }, output: { // 和 webpack 配置一致,编译后文件输出的路径 path: resolveDist(),

  • 问题内容: 认为答案很明显,但是可以解决: 当我在为学校做一个小型项目时(用Java),我将其 编译 。 在我的小屋中,我们正在使用ant来 构建 我们的项目。 我认为编译是构建的子集。这样对吗?构建和编译有什么区别? 问题答案: “构建”是一个过程,涵盖创建软件“交付物”所需的所有步骤。在Java世界中,这通常包括: 生成源(有时)。 编译源。 编译测试源。 执行测试(单元测试,集成测试等)。

  • 我想将ant构建迁移到Bazel4.2.1。ant构建使用Eclipse编译器(ECJ-3.27.0)。 在Bazel中声明Java编译器的方法是。 因此,我查看了的输出,并尝试使用vanilla工具链作为灵感()。 显示整个编译器命令行(加上更多构建步骤): 我不知道有哪个Java编译器接受。是否必须以不同的方式传递?

  • 我们希望使用目前设计最强大、生态最完善的编译构建工具Webpack来实现小程序的编译构建,让用户得到web开发中先进强大的工程化开发体验。使用过Webpack的同学都知道,通常来说Webpack都是将项目中使用到的一系列碎片化模块打包为一个或几个bundle,而小程序所需要的文件结构是非常离散化的,如何调解这两者的矛盾成为了我们最大的难题。一种非常直观简单的思路在于遍历整个src目录,将其中的每一

  • 本文向大家介绍Go 使用Makefile编译所有架构,包括了Go 使用Makefile编译所有架构的使用技巧和注意事项,需要的朋友参考一下 示例 此Makefile将交叉编译和压缩Windows,Mac和Linux(ARM和x86)的可执行文件。 (请注意,Makefile需要使用硬标签而不是空格)