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

如何在Windows 10上交叉编译Go程序

牟飞沉
2023-03-14
问题内容

这工作得很好,直到从Windows 10,现在是最后的大更新,我不能够设置GOOS

set GOOS=linux

我也尝试以管理员身份启动PowerShell,但即使这样也无法正常工作。有什么工具可以做到这一点?还是有另一种方法可以在Windows
10上交叉编译Go程序?


问题答案:

set是Windows命令行解释器(cmd.exe)的内部命令。

如果您使用的是PowerShell,则更改环境变量的值应如下所示:

$Env:<variable-name> = "<new-value>"

有关更多详细信息,请参阅PowerShell文档:关于环境变量

因此要更改GOOS,请使用:

$Env:GOOS = "linux"

进行交叉编译:

  1. 导航到main包所在的文件夹。

  2. $Env:GOOS = "linux"

  3. 可选运行 $Env:GOARCH = "amd64"

  4. go build

或者您可以单行执行:

$Env:GOOS = "linux"; $Env:GOARCH = "amd64"; go build

要指定输出文件名:

$Env:GOOS = "linux"; $Env:GOARCH = "amd64"; go build -o hello


 类似资料:
  • 问题内容: 我正在尝试在OSX上交叉编译go应用程序,以为Windows和Linux构建二进制文件。我已经阅读了所有可以在网上找到的东西。我发现的最接近的示例已发布(除了有关go- nuts邮件列表的许多未完成的讨论之外): http://solovyov.net/en/2012/03/09/cross-compiling- go/ 但它不适用于我的安装。我去了1.0.2。由于1.0.2是最近的版

  • 我想为我的android智能手机开发一个应用程序。所以我需要一个交叉编译器,它在x86上工作,但为ARM Cortex处理器生成代码。 不幸的是,linux包管理器提供了该编译器的多个变体: null 为什么第一个包'gcc-arm-none-eabi'没有细分为具有fpu或multilib支持的变体。没有他们? 谢谢您的回答!

  • 问题内容: 我已经安装在Windows机器上的Go 1.2,写了一个虚拟的程序和设置环境变量,并以“AMD64”及“LINUX”。 当我发出“ ”命令时,出现错误: 这是什么意思? 问题答案: 它告诉您需要先构建所有工具,然后才能使用它们。 如果您的Windows GOARCH是amd64,则可以通过运行以下小批处理程序来“构建”所有必需的工具: 如果成功,那么您应该能够执行您所描述的操作(只使用

  • 问题内容: 我创建了一个交叉编译的arm可执行文件。我想找到可执行文件的库依赖项。我正在使用ubuntu natty并安装了不包含ldd的arm-linux- gnueabi工具链。有没有可用的工具来查看Linux中arm可执行文件库的依赖性。 问题答案: 这有点儿混乱,但这是我能找到的最好的解决方案,对于基本用途它确实很好用-只需使用其他交叉工具将此脚本另存为“ arm-none-linux-g

  • 我在、Visual C++和交叉编译器的帮助下为构建项目。它运行良好,但如何处理情况时,我需要链接到库?我是否应该用当前的交叉编译器构建所有必需的库?例如如何处理库?

  • 本文档说明如何在kali linux上配置ARM交叉编译环境,是我们多份关于”定制ARM镜像”的文档的起点. 开发机的配置 编译内核生成镜象通常需要大量硬盘空间.确保你的开发机至少有50G可用硬盘空间以及足够的内存,CPU不要太差. 安装依赖 先安装ARM交叉编译所需的依赖. apt-get install git-core gnupg flex bison gperf libesd0-dev b