【问题标题】:How to CrossCompile Go programs on Windows 10如何在 Windows 10 上交叉编译 Go 程序
【发布时间】:2018-06-18 13:56:35
【问题描述】:

我想为一台 linux 机器编译一个 Go 程序。我总是使用这里描述的那种方式:

How to cross compile from Windows to Linux?

在 Windows 10 的最后一次重大更新之前效果很好。现在我无法将 GOOS 设置为

set GOOS=linux

我也尝试以管理员身份启动 PowerShell,但即使这样也不起作用。 有没有可以做到这一点的工具?或者还有其他方法可以在 Windows 10 上交叉编译 Go 程序吗?

【问题讨论】:

  • “无法设置GOOS”是什么意思?你得到一个错误? GOOS 没有变化?还是?
  • cmd 没有改变任何东西

标签: windows powershell go cross-compiling


【解决方案1】:

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

如果您使用的是 PowerShell,那么更改环境变量的值应该像这样:

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

更多详情请见PowerShell documentation: About Environment Variables

所以要更改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

【讨论】:

    猜你喜欢
    • 2012-08-23
    • 2012-03-03
    • 2014-11-01
    • 2019-10-02
    • 1970-01-01
    • 2021-03-04
    • 2022-01-03
    • 2017-05-24
    • 1970-01-01
    相关资源
    最近更新 更多