1

ffi-rzmqgemをWindowsで動作させるのに問題があります。

ここからZeroMQ2.2のWindowsインストーラーをインストールしました: http ://www.zeromq.org/distro:microsoft-windows

そして、PATH変数にC:\ Program Files \ ZeroMQ 2.2.0\binを追加しました。

次に、ffiおよびffi-rzmqgemをインストールしました。

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.dllのみがパッケージ化されているようです。

私は間違っている非常に明白なことをしていると確信していますが、それが何であるかわかりません...誰かが助けることができますか?

ありがとう。

4

2 に答える 2

2

私はなんとか問題を修正することができました-ffi-rzmqによって与えられるエラーメッセージは実際に最新バージョンでいくらか改善されました。

ネイサンは、libzmq-v100-mt.dllの名前をlibzmq.dllに変更する必要があったことは正しかったが、それだけでは十分ではなかった。64ビットコンパイルバージョンのZMQを使用していたが、何らかの理由でffi-rzmqは32ビットバージョン。

したがって、64ビットバージョンをアンインストールし、代わりに32ビットバージョンをインストールし、dllをlibzmq.dllに再分析し、zmqの「c:\ programfiles(x86)」バージョンを指すようにパスを調整すると、すべてが機能しました。

于 2012-08-21T08:54:07.370 に答える
1

libzmq-v100-mt.dllの名前をlibzmq.dllに変更する必要があります-なぜ彼らがWindowsビルドに別のライブラリ名を出力させることにしたのかわかりません。

同じ問題が発生し、ファイルの名前を変更するとすぐにzeromqが正常に機能し始めました。

(技術的には、最初にコードを修正する必要がありましたが、その後、zeromqは正常に機能しました)。

于 2012-08-19T05:31:36.927 に答える