为了账号安全,请及时绑定邮箱和手机立即绑定

使用 os/exec 命令从 Windows 交叉编译到 Linux

使用 os/exec 命令从 Windows 交叉编译到 Linux

Go
守着一只汪 2023-05-15 14:47:36
标题主要说明了这一点。我知道我能做到set GOOS=linux set GOARCH=amd64在我之前的 cmd 中go build,但我正在尝试编写构建脚本并使用 exec.Command 完成所有操作。我go build -o etc使用 exec.Command(它构建)工作,但是在执行以下任一命令后在测试脚本中打印出 GOOS 时:cmd := exec.Command("set", "GOOS=linux") // OR cmd := exec.Command("set GOOS=linux")我明白了windows。有任何想法吗?谢谢!
查看完整描述

1 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

我强烈建议你只使用像Gox这样的工具。它通过执行交叉编译到每个支持的构建目标gox。如果您只想为某些目标构建,它也有选项。

至于你问的代码,exec.Command不创建新进程,或者除了创建Cmd结构之外真的做任何事情。os/exec 文档(特别是Command函数的文档)有一个您似乎正在尝试执行的示例 - 使用自定义环境变量分配执行另一个程序......请参阅Example (Environment)链接文档的部分并尝试遵循该部分structure 如果你仍然想交叉编译你的方式。


查看完整回答
反对 回复 2023-05-15
  • 1 回答
  • 0 关注
  • 111 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信