【发布时间】:2020-05-30 22:18:25
【问题描述】:
我尝试运行以下 bar.go 脚本
package main
import (
"fmt"
"syscall"
)
func main() {
fmt.Printf("%d\n", uintptr(syscall.ENONET))
}
通过调用go run bar.go 得到这个错误:
# command-line-arguments
./bar.go:9:29: undefined: syscall.ENONET
我正在使用 Mac 并转到版本 1.14.3 darwin/amd64。我尝试在 Go 操场上运行这个确切的脚本,https://play.golang.org/p/ecMZPsGgGOa,它成功了。
我尝试使用CGO_ENABLED=1 GOOS=linux GOARCH=amd64 运行脚本,却得到了这个错误:
fork/exec /var/folders/2l/dj6ph5t92y17vhtv3n6xzr5r0000gn/T/go-build847134732/b001/exe/bar: exec format error
如何让syscall.ENONET 在 Mac 上工作?
谢谢
【问题讨论】:
-
你的 Mac 不是 ARM。
-
好的,尝试过amd64,但遇到了同样的问题
标签: macos go system-calls