交叉编译:“用户:当前未在 linux/amd64 上实现”

我在 linux/amd64 机器上编译以下 Go 程序:


package main


import (

    "fmt"

    "os/user"

)


func main() {

    fmt.Println(user.Current())

}

这工作正常。但是当我从 Mac 机器交叉编译它时,当我在我的 linux 机器上运行该程序时出现以下错误:


user: Current not implemented on linux/amd64


如何交叉编译和使用包中的 Current 函数os/user?


智慧大石
浏览 215回答 1
1回答

MMTTMM

这是由于问题 6376:从 linux-amd64 交叉编译时 darwin-amd64 中的 user.Current 恐慌:os/user 依赖于 cgo,而 cgo 被禁用交叉编译,因此这是意料之中的。如果您使用 os/user,则必须在 OS X 上进行本地编译。即使我们启用了交叉编译 cgo 支持,我怀疑每个人在他们的 linux 机器上都有一个可用的 OS X 交叉工具链。状态:按预期工作
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go