我试图在 Go 应用程序中包含 ZMQ 套接字,但 zmq4 和 gozmq (Go 的 ZMQ 绑定库)都给我带来了问题。我想了解为什么 zmq4 在我的系统上无法导入。
我运行的是 Windows 8 系统,并且使用了 ZMQ 网站上的 Windows 安装程序,版本为 4.0.3。我主要关心的是如何设置 zmq4,这是我在 github 库位置上进行“go get”查询的结果:
> go get github.com/pebbe/zmq4
# github.com/pebbe/zmq4
polling.go:4:17: fatal error: zmq.h: No such file or directory
compilation terminated.
Run Code Online (Sandbox Code Playgroud)
克隆 Github 存储库并不能缓解此问题 - 错误仍然相同。
我知道这个问题与位于我的 ZMQ 安装的“include”文件夹中的 C 库 zmq.h 有关,但依赖关系是由路径问题还是外部工具问题所阻碍对我来说是个谜。
关于 node.js 也出现了类似的错误,这是我在节点脚本之外看到其他人提到的解决方案,但在我的例子中并不成功。
到目前为止,我已将“include”文件夹的路径包含在我的 PATH 环境变量中,并且之前将 zmq.h 放置在 zmq4 顶级文件夹中。我没有太多的武器库来理解这个问题,因为我是 C 和 C 语言的新手,在 Go 中导入包
我的测试处理程序代码在这里:
func defineHandler(w http.ResponseWriter, r *http.Request) {
a := strconv.ParseInt(r.FormValue("aRows")[0:], 10, 64);
b := r.FormValue("aRows");
fmt.Fprintf(w, "aRows is: %s", b);
}
Run Code Online (Sandbox Code Playgroud)
编译期间返回的错误显示为:“单值上下文中的多值 strconv.ParseInt()”
我相信这与 FormValue 中的信息格式有关,我只是不知道如何缓解这种情况。