2012-08-08 18 views
1

我无法使ffi-rzmq gem在windows上运行。无法在Windows上运行ffi-rzmq zeromq gem

我已经安装了Windows安装程序ZeroMQ 2.2从这里开始: 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"] 

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

我确定我正在做一件非常明显的事情,但是我看不到它是什么......任何人都可以帮忙吗?

谢谢。

回答

2

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

内森是正确的,我不得不将libzmq-v100-mt.dll重命名为libzmq.dll,但单靠这一点还不够 - 我使用的是ZMQ的64位编译版本,但由于某些原因ffi-rzmq与32位版本链接。

因此,一切工作,一旦我卸载64位版本,安装32位版本,而不是重新安装到libzmq.dll dll和调整我的路径指向'c:\ program files(x86)'版本的zmq。

1

您必须将libzmq-v100-mt.dll重命名为libzmq.dll - 我不知道他们为什么决定让Windows生成输出不同的库名称。

我有同样的问题,只要我重命名文件zeromq开始工作正常。

(好的,从技术上讲,我不得不先解决我的代码,但是,然后zeromq工作正常)。

+0

我也有这个错误 - 'libzmq-v100-mt.dll'位于何处? – rwb 2013-01-21 09:53:35