不满意 Link 错误,即使 DLL 可访问 (java)
Unsatisfied Link Error even if DLL is reachable (java)
在我们的 java 程序中,我们必须使用 dll,但我们得到错误:
线程异常 "OPCAgent:OPCVARCHECK5" java.lang.UnsatisfiedLinkError: javafish.clients.opc.JCustomOPC.coInitializeNative()V
如您所见,dll 在正确的位置,因为我们没有得到
没有..在库路径错误中。
我们用的java是32位,dll也是32位
我们无法调用任何本机方法。
private static native void coInitializeNative() throws CoInitializeException;
我们确定 dll 的位置正确并且可以从程序访问,因为如果我们更改 dll 的位置,错误消息将变为来自
Exception in thread "OPCAgent:OPCVARCHECK5" java.lang.UnsatisfiedLinkError: javafish.clients.opc.JCustomOPC.coInitializeNative()
到
Exception in thread "main" java.lang.UnsatisfiedLinkError: no ./lib/JCustomOpc in java.library.path
如何调试问题?我尝试了一些 dll 反汇编程序,但其中许多包含病毒、恶意软件等。是否知道要查看 dll 的签名? .net 反射器失败。
确保您的 JCustomOPC.dll 和 jeasyopc.jar 文件兼容。可能你使用了这些库文件的不同版本。
在我们的 java 程序中,我们必须使用 dll,但我们得到错误:
线程异常 "OPCAgent:OPCVARCHECK5" java.lang.UnsatisfiedLinkError: javafish.clients.opc.JCustomOPC.coInitializeNative()V
如您所见,dll 在正确的位置,因为我们没有得到 没有..在库路径错误中。
我们用的java是32位,dll也是32位
我们无法调用任何本机方法。
private static native void coInitializeNative() throws CoInitializeException;
我们确定 dll 的位置正确并且可以从程序访问,因为如果我们更改 dll 的位置,错误消息将变为来自
Exception in thread "OPCAgent:OPCVARCHECK5" java.lang.UnsatisfiedLinkError: javafish.clients.opc.JCustomOPC.coInitializeNative()
到
Exception in thread "main" java.lang.UnsatisfiedLinkError: no ./lib/JCustomOpc in java.library.path
如何调试问题?我尝试了一些 dll 反汇编程序,但其中许多包含病毒、恶意软件等。是否知道要查看 dll 的签名? .net 反射器失败。
确保您的 JCustomOPC.dll 和 jeasyopc.jar 文件兼容。可能你使用了这些库文件的不同版本。