【问题标题】:UnsatisfiedLinkError when trying to load dll in my eclipse project尝试在我的 Eclipse 项目中加载 dll 时出现 UnsatisfiedLinkError
【发布时间】: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


【解决方案1】:

由于那些不存在的路径,系统无法导航到该目录。为了解决这个问题,我只是做了相反的事情,在 PATH 前面添加了本地库的位置,它就像一个魅力。

this 帮忙。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    相关资源
    最近更新 更多