【发布时间】:2014-04-10 01:00:51
【问题描述】:
我试图在 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.
克隆 Github 存储库并不能缓解此问题 - 错误仍然存在。
我知道这个问题与位于我的 ZMQ 安装的“include”文件夹中的 C 库 zmq.h 有关,但是依赖关系是由路径问题还是外部工具问题引起还是个谜对我来说。
关于 node.js 也出现了类似的错误,这是我看到其他人在节点脚本之外提到的解决方案,但在我的情况下它是不成功的。
到目前为止,我已经在我的 PATH 环境变量中包含了“include”文件夹的路径,并且之前将 zmq.h 放在了 zmq4 顶级文件夹中。我没有太多的武器库来理解这个问题,因为我是 Go 中 C 和 C 导入包的新手
【问题讨论】:
-
如果不提供更多信息,我认为您不会得到答案。你用的是什么平台?你是如何安装 ZMQ 的?您使用什么命令来尝试构建 gozmq?
-
我已经编辑了更多信息,如果我错过了什么,请告诉我还需要什么。此外,我主要对 zmq4 错误的解决方案感兴趣;我对 gozmq 挂起的内容有了更好的了解
-
@user2628946 有什么进展吗?我对 zmq4 也有同样的问题,gozmq 给了我:
# pkg-config --cflags libzmq libzmq libzmq libzmq exec: "pkg-config": executable file not found in %PATH% -
@user2628946:尝试设置环境变量
C_INCLUDE_PATH和LIBRARY_PATH以包含您的 zmq 安装,或者,如果 zmq4 使用 pkg-config,则添加一个包含您的安装信息的 .pc 文件...它听起来您将 zmq 安装在非标准位置,而go build并没有捡起它。 @10cls:看起来 gozmq 使用 pkg-config 来获取针对 libzmq 构建的标志,而您没有安装 pkg-config。安装它并确保您的 zmq 安装具有有效的 *.pc 文件,然后重试。
标签: go packages zeromq filepath cgo