java - 尝试使用来自 Java (JNA) 的 DLL。无法加载库异常

标签 java dll jna

我有来自 tutorial 的 NetBeans 项目导致异常:

线程“主”中的异常 java.lang.UnsatisfiedLinkError:无法加载库 'simpleDLL':找不到指定的模块。

试图将 simpleDLL.dll 放入项目库中,将文件复制到 system32 文件夹中,但没有成功。

最佳答案

我在加载 DLL 时遇到了完全相同的问题,我是这样解决的:

  • 正如 Christian Kuetbach 所说,检查您使用的 simpleDLL 是否与您的处理器架构兼容,32 位 DLL 无法在 64 位机器上运行,64 位 DLL 也无法运行不能在 32 位机器上工作。

  • 如果 DLL 兼容,则问题可能出在您的 java 库路径中。我将 DLL 放入 user.dir 目录,然后使用以下代码:

    将 Java 库路径设置为 user.dir 或者您想要的其他路径:

     String myLibraryPath = System.getProperty("user.dir");//or another absolute or relative path
    
     System.setProperty("java.library.path", myLibraryPath);
    

    加载库:

     System.loadLibrary("libraryWithoutDLLExtension");
    

它对我有用,试试看,然后告诉我它是否对你有用。

关于java - 尝试使用来自 Java (JNA) 的 DLL。无法加载库异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14286647/

相关文章:

c++ - 我的代码如何知道它寻址的是哪个 .dll?

arrays - 戈朗 : unsafe dynamic byte array

java - 在文件被删除之前收到通知

java - 我对 HttpUrlConnection 有疑问

c++ - 在网络浏览器中运行 C/C++ 代码?

java - 透明,点击,总在最前面 JFrame

arrays - 带有 Fortran 假定大小数组的 JNA

java - 正则表达式替换包含特定事件的图像标签?

java - 是否有任何可与 dynaTrace 相媲美的开源框架?

java - JDK9+ 中 JDK8 或更低版本中 java.util.SubList 类的等效类