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

如何从Windows交叉编译到Linux?

薛利
2023-03-14
问题内容

我已经安装在Windows机器上的Go 1.2,写了一个虚拟的程序和设置环境变量GOARCH,并GOOS以“AMD64”及“LINUX”。

当我发出“ go build”命令时,出现错误:

go build runtime: linux/amd64 must be bootstrapped using make.bat

这是什么意思?


问题答案:

它告诉您需要先构建所有工具,然后才能使用它们。

如果您的Windows GOARCH是amd64,则可以通过运行以下小批处理程序来“构建”所有必需的工具:

set GOARCH=amd64
set GOOS=linux
go tool dist install -v pkg/runtime
go install -v -a std

如果成功,那么您应该能够执行您所描述的操作(只使用amd64,而不是AMD64-区分大小写)。

如果Windows GOARCH是386,则需要首先构建386工具。您需要为此下载mingw gcc。如用户2714852所说的那样做。

这里https://golang.org/wiki/WindowsCrossCompiling是针对Linux的类似说明,也许您会发现它们对您有所帮助。

亚历克斯



 类似资料:
  • 问题内容: 基本上,我在Linux上进行开发时,尝试将最简单的代码编译到Windows。 我通过搜索互联网找到了这些命令: 可悲的是,它们都不起作用。它给我关于标准箱丢失的错误 有没有办法在Windows上运行的Linux上编译代码? 问题答案: Rust发行版仅提供主机系统的编译库。但是,根据Rust上Arch Linux的Wiki页面 ,您可以从系统目录中适当位置(位于或中,具体取决于Wind

  • 我试图遵循各种建议,但它们没有我的特定错误消息:crt2.o:crtexe.c:(.rdata$.refptr.__onexitend[.refptr.__onexitend]+0x0):未定义对`__onexitend'的引用collect2:error:ld返回1退出状态 希望得到一些东西,但它爆炸了。输出如下所示:/usr/bin/x86_64-w64-mingw32-ld://home/v

  • 问题内容: 我想使用Linux x86_64主机交叉编译Windows x86_64目标的Qt库(最终是我的应用程序)。我感觉自己已经接近了,但是我可能对该过程的某些部分有一个根本性的误解。 首先,在我的Fedora机器上安装所有mingw软件包,然后修改qmake.conf文件以适合我的环境。但是,我似乎对Qt:和的一些看似显而易见的配置选项感到困惑。Qt文档说应该是主机体系结构(要在其中进行编

  • 问题内容: 这工作得很好,直到从Windows 10,现在是最后的大更新,我不能够设置与 我也尝试以管理员身份启动PowerShell,但即使这样也无法正常工作。有什么工具可以做到这一点?还是有另一种方法可以在Windows 10上交叉编译Go程序? 问题答案: 是Windows命令行解释器()的内部命令。 如果您使用的是PowerShell,则更改环境变量的值应如下所示: 有关更多详细信息,请参

  • 问题内容: 是否有用于从Linux到Windows交叉编译C ++应用程序的手册? 只是。我想要一些信息(链接,参考,示例…)来指导我做到这一点。 我什至不知道是否可能。 我的目标是在Linux上编译程序并获取一个可以在Windows下运行的.exe文件。 问题答案: 基础不太难: 替换为,或您的Linux发行版使用的任何格式。这将为Windows 生成一个。 一旦解决了这个问题,就可以使用aut

  • 问题内容: 到目前为止,我已经在ubuntu系统上安装了所有交叉编译软件包,但是遇到了问题,需要一些帮助。 这是我需要交叉编译的目标计算机。编译时应使用哪些标志? 问题答案: 给出以下列表, gcc-4.7-aarch64-linux-gnu-GNU C编译器 gcc-4.7-arm-linux-gnueabi-GNU C编译器 gcc-4.7-arm-linux-gnueabi-base-GCC