当前位置: 首页 > 知识库问答 >
问题:

JNAjava.lang.UnsatisfiedLinkError和指定的模块找不到

史默
2023-03-14

我正在组装一个jar,它可以让我调用仅对本地人可用的命令(jar使用本地人而不是实际程序)。现在,每当我加载DLL时,我都会遇到一个问题。这是错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'myDLL.dll': The specified module could not be found.

at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:194)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:283)
at com.sun.jna.Library$Handler.<init>(Library.java:142)
at com.sun.jna.Native.loadLibrary(Native.java:368)
at com.sun.jna.Native.loadLibrary(Native.java:353)
at src.NativeBridgeJar.<clinit>(NativeBridgeJar.java:6)
at src.Main.main(Main.java:6)

我不知道这个错误的原因是什么。我确保将本机库路径设置为包含本机的文件夹。有人有想法吗?

共有3个答案

薛俊美
2023-03-14

我遇到了同样的问题,直到我将.dll文件放入C:\Windows\System32中,因为它是一个C DLL,并且依赖于该文件夹中的内核32.dll和MSVCR100.dll。这似乎奏效了。

阴福
2023-03-14

您应该向JVM显示您的dlls位置。这可以通过-Djava.library.path=path ToDllVM参数来完成

松飞翮
2023-03-14

a)当您调用Native.loadLibrary()时,您可以提供一个简写名称(myDll)、一个文件名(myDll.dll)或共享库的绝对路径(c:/user/me/myDll.dll)。

b)如果您不提供库的绝对路径,您可以通过指定jna.library.path或使其在java.library.path上可用来告诉它在哪里加载DLL(在NativeLibraryjavadoc中描述了其他选项)。

 类似资料:
  • 我正在使用Rcpp和另一个第三方C库开发一个包。当我试图安装包时,我得到了 在32位Windows操作系统中,根据我同事的建议,我通过将以下DLL的位置从MingW添加到系统路径,解决了这个问题。 但64位Windows,我得到相同的错误,即使与dll虽然我使用32位R。 所以我的问题是: 有没有办法知道为什么错误发生?我是说我想知道哪个模块不见了。也许冗长的选项在哪里?

  • 问题内容: 我先安装,然后创建数据库。然后,我创建了一个数据库图并收到以下错误: 如何解决该错误,以便可以创建数据库图? 问题答案: 您可以通过以下步骤解决此问题: 1)删除该位置的所有文件。 2)将以下链接复制并粘贴到浏览器中,然后下载文件。 3)解压缩文件并将其粘贴到先前的位置。 链接:-> harshgupta71.blogspot.in/2013/02/the-specified-modu

  • 在我的Java应用程序中,我想从图像中提取文本。我下载了谷歌的Tesseract OCR,并将其安装在我的Windows XP机器上。我遵循了Tesseract的教程Tess4J-JNA包装器,不幸的是出现了这个错误: 我在StackOverFlow中发现了类似的问题,但似乎没有任何效果。我希望你能帮我解决这个问题! 下面是我在Netbeans IDE 7.2中的项目结构:

  • 问题内容: 我必须安装Shapely软件包(http://toblerity.org/shapely/project.html#installation)。但是当我使用时: 我收到此错误: 而且,当我使用时: 我收到此错误: 我在Windows 10(64位)上使用Python 3.6.0(Anaconda3)。 请帮忙。(无济于事) 问题答案: 使用http://www.lfd.uci.edu/

  • 我刚从下载了Tess4Jhttp://tess4j.sourceforge.net/并将其导入到netbeans中。我遵循这个url,我正确地遵循了每一步,但当我尝试执行时,我得到了下面的错误。 错误: 我搜索并发现人们建议更新到 Visual Visual Studio 2013 的可再发行组件包,我做了,但事实证明没有帮助,我仍然遇到同样的问题。我不知道我做错了什么,下面是我的代码。 代码:

  • 问题内容: 我一直在尝试设置Windows计算机,以便可以使用具有PostGIS扩展名的本地postgreSQL。安装此程序后,我希望能够在本地将geodjango创建一个项目,然后再将其放入云中。我已经在使用SQLite DB的本地计算机上与Django一起工作了一段时间,但是由于下一个项目将部分基于基于坐标的数据,因此我想设置正确的环境。 导入说明:我已经安装了迷你康达在单独的环境中运行。我在