我在使用Eclipse和Windows XP使用Java运行ZeroMQ时遇到了问题。我已成功安装[我认为] 0MQ库以及Java绑定。我以前的指示就是这样的 这里。
建立了两个文件: zmq.jar 和 jzmq.dll。我将jar文件放在我的项目中,这允许代码编译好。我也设定了 的java.library.path 到dll的目录,将perf目录添加到我的项目,并将libzmq.dll添加到我的PATH。 (全部按照说明)。
我仍然得到以下我无法解决的异常:
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\jzmq\lib\jzmq.dll: Can't find dependent libraries
jzmq.dll依赖于哪些其他库?我试过将libzmq.dll放在任何地方,但这没有帮助。 这个 是我正在努力工作的代码示例。
谢谢。
把任何dll放在Windows根目录或Windows System32中都是难看的解决方案,它只是将你拉进Dll HELL。
您需要做的是在中添加ZQM二进制路径 系统路径。
我在一小时内编译了64位ZMQ和JZMQ,这是我的文件夹结构:
C:\ ZMQ \ BIN
--- jzmq.dll,libzmq.dll
C:\ ZMQ \ LIB
--- ZMQ.jar
这是一步:
将binray路径添加到系统环境中,详细步骤是
控制面板 - 系统---高级设置,在弹出选项卡中,找到'advance' - '环境变量'---在'system vairiabls'中找到'PATH'并添加C:\ ZMQ \ bin中的值
打开dos提示符,然后输入'where jzmq.dll'(我不确定XP中是否存在where.exe)以确认它是否在PATH中。
启动Eclipse,打开项目,右键单击项目名称,然后在菜单“构建路径 - 添加外部存档”中选择C:\ ZMQ \ lib \ zMQ.jar。
全做完了!
在我的电脑中,示例运行正常。
把任何dll放在Windows根目录或Windows System32中都是难看的解决方案,它只是将你拉进Dll HELL。
您需要做的是在中添加ZQM二进制路径 系统路径。
我在一小时内编译了64位ZMQ和JZMQ,这是我的文件夹结构:
C:\ ZMQ \ BIN
--- jzmq.dll,libzmq.dll
C:\ ZMQ \ LIB
--- ZMQ.jar
这是一步:
将binray路径添加到系统环境中,详细步骤是
控制面板 - 系统---高级设置,在弹出选项卡中,找到'advance' - '环境变量'---在'system vairiabls'中找到'PATH'并添加C:\ ZMQ \ bin中的值
打开dos提示符,然后输入'where jzmq.dll'(我不确定XP中是否存在where.exe)以确认它是否在PATH中。
启动Eclipse,打开项目,右键单击项目名称,然后在菜单“构建路径 - 添加外部存档”中选择C:\ ZMQ \ lib \ zMQ.jar。
全做完了!
在我的电脑中,示例运行正常。
您应该将libzmq.dll复制到java.library.path指向的位置并使用:
System.loadLibrary("libzmq")
原因是jzmq依赖于libzmq,因此必须首先加载libzmq。
我刚刚遇到过这个问题。我通过将jzmq.dll和libzmq.dll放入System32文件夹找到了解决方法。我不认为这是一个永久的解决方案,但它暂时起作用。