不满意 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 文件兼容。可能你使用了这些库文件的不同版本。