java - 即使 DLL 可访问,也会出现不满意的链接错误 (java)

标签 java dll native

在我们的 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 的位置,错误消息将变为来自

线程“OPCAgent:OPCVARCHECK5”异常 java.lang.UnsatisfiedLinkError: javafish.clients.opc.JCustomOPC.coInitializeNative()

线程“主”java.lang.UnsatisfiedLinkError 中的异常:java.library.path 中没有 ./lib/JCustomOpc

如何调试问题?我尝试了一些 dll 反汇编程序,但其中许多包含病毒、恶意软件等。是否知道要查看 dll 的签名? .net 反射器失败。

最佳答案

确保您的 JCustomOPC.dll 和 jeasyopc.jar 文件兼容。可能您使用了这些库文件的不同版本。

关于java - 即使 DLL 可访问,也会出现不满意的链接错误 (java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46359086/

相关文章:

java - Cordova Android 的自定义插件

exception - 防止第三方 dll 使 PowerShell 崩溃

java - 是否可以让 GC 管理 native 对象的生命周期?

c++ - 将 Win32 DLL Hook 移植到 Linux

c# - 尝试在 C# 中创建基本编译器,获取访问冲突错误

c++ - 使用 DEF 从 Visual Studio 2010 中的 DLL 导出函数

ios - 运行 ionic ios build --prod --release 时出错

java - 读带缩写的句子

java - 在嵌入式 glassfish 4 上运行 JUnit 测试导致警告 : AS-CDI-005

javascript - 如何在jsp中将javascript变量传递给java scriptlet