【问题标题】:I Can not use Cross Compiler我不能使用交叉编译器
【发布时间】:2019-10-17 15:50:50
【问题描述】:

我想在 Windows 10 for Linux (Ubuntu) 中编译我的 Go 代码。

我使用命令:

SET GOOS=linux
SET GOARCH=amd64
go build .\main.go

但编译器会创建一个 .exe 文件。

如何为 linux 交叉编译这段代码?

【问题讨论】:

  • Linux 说文件是什么?您发送的文件是否正确?我认为编译器在交叉编译时不会添加.exe 扩展名。
  • 你使用 PowerShell 吗?
  • @VitalyMigunov 是的

标签: go cross-compiling


【解决方案1】:

如果你使用 PowerShell,那么你应该使用$Env:GOOS = "linux"; $Env:GOARCH = "amd64"; go build .\main.go

【讨论】:

  • 感谢很有用。
【解决方案2】:

在终端中尝试这样的单行命令:GOOS=linux GOARCH=amd64 go build .\main.go

【讨论】:

  • 我做到了,但犯了一个错误,GOOS=linux : 术语“GOOS=linux”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。在 line:1 char:1 + GOOS=linux GOARCH=amd64 go build .\main.go + ~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (GOOS=linux:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多