无法在Windows上使用ffi-rzmq zeromq gem

时间:2012-08-08 15:11:21

标签: ruby zeromq ffi

我无法让ffi-rzmq gem在Windows上运行。

我从这里安装了ZeroMQ 2.2的Windows安装程序: http://www.zeromq.org/distro:microsoft-windows

我已将C:\ Program Files \ ZeroMQ 2.2.0 \ bin添加到我的PATH变量中。

然后我用

安装了ffi和ffi-rzmq宝石
gem install ffi
gem install ffi-rzmq

但是当我开始使用irb并运行时:

require 'ffi-rzmq'

我收到此消息:

irb(main):001:0> require 'ffi-rzmq'
Unable to load this gem. The libzmq library (or DLL) could not be found.
If this is a Windows platform, make sure libzmq.dll is on the PATH.
For non-Windows platforms, make sure libzmq is located in this search path:
["C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-rzmq-0.9.3/lib/ffi-rz
mq/../../ext/libzmq.dll", "/usr/local/lib/libzmq.dll", "/opt/local/lib/libzmq.dl
l", "/usr/local/homebrew/lib/libzmq.dll", "/usr/lib64/libzmq.dll"]

奇怪的是,零MQ安装程序似乎没有打包libzmq.dll,只有 libzmq-v100-mt.dll

我确信我做的事情非常明显,这是错的,但我看不出它是什么......任何人都可以帮忙吗?

感谢。

2 个答案:

答案 0 :(得分:2)

我设法解决了这个问题 - ffi-rzmq给出的错误信息在最新版本中实际上有所改善。

Nathan是对的,我必须将libzmq-v100-mt.dll重命名为libzmq.dll,但仅此一点还不够 - 我使用的是ZMQ的64位编译版本,但由于某种原因,ffi- rzmq与32位版本相关联。

所以一旦我卸载了64位版本,安装了32位版本,将dll重新命名为libzmq.dll并调整我的路径以指向&#c; \ program files(x86)'版本的zmq。

答案 1 :(得分:1)

你必须将libzmq-v100-mt.dll重命名为libzmq.dll - 我不知道为什么他们决定让windows build输出一个不同的库名。

我遇到了同样的问题,一旦我重命名文件,zeromq就开始工作正常了。

(好的,从技术上讲,我必须先修复我的代码,但是zeromq工作正常)。