我在 linux/amd64 机器上编译以下 Go 程序:package mainimport ( "fmt" "os/user")func main() { fmt.Println(user.Current())}这工作正常。但是当我从 Mac 机器交叉编译它时,当我在我的 linux 机器上运行该程序时出现以下错误:user: Current not implemented on linux/amd64如何交叉编译和使用包中的 Current 函数os/user?
1 回答
MMTTMM
TA贡献1869条经验 获得超4个赞
这是由于问题 6376:从 linux-amd64 交叉编译时 darwin-amd64 中的 user.Current 恐慌:
os/user 依赖于 cgo,而 cgo 被禁用交叉编译,因此这是意料之中的。
如果您使用 os/user,则必须在 OS X 上进行本地编译。
即使我们启用了交叉编译 cgo 支持,我怀疑每个人在他们的 linux 机器上都有一个可用的 OS X 交叉工具链。
状态:按预期工作
- 1 回答
- 0 关注
- 214 浏览
添加回答
举报
0/150
提交
取消