【发布时间】:2018-09-19 10:32:02
【问题描述】:
我在该位置有“xxx.dll”文件以及其他几个 dll -
'C:\Program Files (x86)\abc\xyz\Librerias'
尝试使用
在我的项目中加载这个 dll 文件System.loadLibrary("xxx");
在配置构建路径的 JRE 系统库中将此路径添加到“本机库位置”,但尝试加载此 dll 的行仍然抛出“UnsatisfiedLinkError”。
我什至尝试过,但仍然存在同样的错误。
System.load("C:/Program Files (x86)/abc/xyz/Librerias/xxx.dll");
我的系统路径中添加了最新版本的 32 位 JRE 和 JDK,并且我使用的是 64 位机器。
【问题讨论】:
-
啊!文件似乎无法加载,尝试将路径更改为
System.load("C:\\Program Files (x86)\\abc\\xyz\\Librerias\\xxx.dll"); -
没有。我试过了,还是一样的问题。
-
请问,您能否验证库
xxx.dll是否存在于给定路径中?可能存在一些权限问题,因为它位于C:\Program Files路径中?尝试将所述库复制到其他路径,提供绝对路径并重试。另外请注意,如果您的应用程序已经加载了该库并且应用程序尝试再次加载它,则JVM将抛出UnsatisfiedLinkError。 -
是的。图书馆存在。这是第一个尝试加载到应用程序的 dll,因此第二种情况没有机会。我尝试将它们复制到外面并引用绝对路径,但没有运气。我提供的答案解决了这个问题,关于为什么这样的改变有效的任何想法?
标签: java exception dllimport loadlibrary unsatisfiedlinkerror