问题标签 [unsatisfiedlinkerror]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
148 浏览

visual-studio-2012 - UnsatisfiedLinkError 的原因

我有一个C++代码,我用它编译Visual Studio 2012.dll.

然后,我使用该方法将该库加载到 Java 应用程序中System.loadLibrary

我已经做了很多时间,在 Visual Studio 上用旧版本编译库,没有问题。

现在,用 VS2012 编译它我得到这个错误:

我检查了 .dllDependecy Walker并且没有缺少依赖项。

我真的不知道我能做些什么才能让它发挥作用。

你能给我一些提示吗?

0 投票
2 回答
2938 浏览

java - UnsatisfiedLinkError:库加载但我仍然收到链接错误

我有两个 Eclipse 插件:

  • plugin-1:为其他插件提供 .jar 包。(用于 C++ 库的 Java 包装器)此插件是通过单击现有 JAR 档案中的文件->新建->其他->插件创建的。

  • plugin-2:拥有plugin-1的本地库.so(Bundle-NativeCode指令在MANIFEST.MF中)并从plugin-1实例化一个类

(我实际上尝试将 .so 放在 plugin-1 中,但我似乎无法加载库,即使在 plugin-1 MANIFEST.MF 中使用 Bundle-NativeCode 指令,在包含 .so 的插件项目之外,所以我想我必须将 .so 与任何使用 plugin-1 的插件捆绑在一起。)

我正在从插件 2 运行 JUnit 测试,它从插件 2 实例化,而插件 2又从插件 1MyClass实例化。成功加载本机库并实例化,而不会从本机库的加载或从实例化中引发其他异常。在这种情况下,我没有运行插件——只是 JUnit 测试。MyLibraryClassMyClassMyLibraryClassUnsatisfiedLinkErrorMyLibraryClass

当我运行 plugin-2 (使用产品配置)并实例化MyClass时,本机库加载正常,但我得到一个UnsatisifiedLinkErrorwhen MyClassinstantiates MyLibraryClass在这种情况下,我相信该库是根据我使用发布如何获取已加载的 JNI 库列表中描述的类获得的输出加载的?

注意:我使用的是 Eclipse 3.6.1。

这是一个代码示例,它显示了我正在尝试做的事情的本质: package com.mylibrary;

0 投票
2 回答
481 浏览

prolog - 在 Java 中使用 (nb_)setarg/3 和 gnu.prolog

我目前正在尝试使用 gnu.prolog (http://www.gnu.org/software/gnuprologjava/)从java中使用prolog。

感谢CapelliC的大力帮助,我现在有了一个非常适合我的目的的 prolog 程序。问题是 gnu.prolog 不支持reverse/2也不支持nb_setarg/3. Java 会抛出一个错误:

自己实现不是什么大问题,reverse/2但我不知道如何替换nb_setarg/3setarg/3也不起作用)

这是我的序言代码:

我尝试使用JPLfromSWI Prolog但由于严重异常指出 Eclipse 无法正确找到库而无法运行它。我总是得到以下例外之一:

即使遵循指南和指南,我也无法解决我的问题。在 Windows(32 位)和 Ubuntu(64 位)上都没有。

您对我有什么解决方案可以让我JPL跑步或如何使用nb_setarg/3吗?到目前为止,我花了一天半的时间没有任何结果。相当令人沮丧...

0 投票
3 回答
1646 浏览

java - DRMAA 和 shared.library.path

我尝试按照以下网址的教程使用带有 DRMAA api 的 sun Grid 引擎:http: //gridscheduler.sourceforge.net/howto/drmaa_java.html。为此,我需要加载位于 /srv/sge/lib/lx24-amd64/drmaa.so 中的 c 库。现在我使用以下代码执行我的命令:java -jar scriptName.jar -Dshared.library.path=/srv/sge/lib/lx24-amd64/ 如https://blogs.oracle.com/templedf/entry/中所述drmaa_and_the_shared_library。但我仍然得到这个例外:

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

尝试检索会话时会引发此异常:

session = SessionFactory.getFactory().getSession();

操作系统是 linux 64 位,java 是 64 位,SGE 是 64 位,所以这都是兼容的。

有谁知道出了什么问题?

0 投票
3 回答
607 浏览

java - 使用 UnsatisfiedLinkError 解析 Java CDF 文件

我正在使用 Java 中的 CDF(文件万事达卡使用)文件解析器,我正在使用此处找到的 API 。为了使用这个 API,你需要 jar 文件..

我不明白我是如何得到这个异常的,因为它应该在 getFile() 方法中处理..我用谷歌搜索了一下,我仍然不明白问题是什么..如果有人能指出我的正确那会很棒的方向。通过跟踪堆栈跟踪 .. 对我来说,这似乎是图书馆的问题。

在这里可以找到 api 的链接:http: //cdf.gsfc.nasa.gov/cdfjava_doc/cdf34/

尝试打开 CDF 文件时,运行程序后出现此错误:

这是我的源代码:

我运行的命令如下:

0 投票
2 回答
1281 浏览

java - 带有 JACOB 和 jre 1.7 的 UnsatisfiedLinkError

我整理了一个使用 JACOB 访问 iTunes 的程序......它在 Eclipse 中运行良好,但是当我导出它并在命令提示符下运行它时,我收到一个不满意的链接错误,告诉我 jacob-1.17-M2-x86.dll 是不在我的 java.library.path 中。

我尝试将其放入 system32 中,将本机库位置设置为其目录...我尝试使用 system.setproperties 技巧...但我无法弄清楚如何正确使用 java -d

我还可以做些什么?我在网上搜索了 4 个多小时试图使其兼容,但似乎没有任何效果。

0 投票
2 回答
274 浏览

android-ndk - 使用 Android NDK 调用本机代码构建时出现 UnsatisfiedLinkError

我在一个简单的 android 应用程序中有一个按钮,用于调用本机函数。主活动中的按钮调用 HADriver.java 的一个函数。该函数依次调用 DriverAdapter.cpp 中的 JNI 函数。然后,该 JNI 函数依次调用 Driver.cpp 中的本机函数。testCout以下是在单击按钮时发挥作用的每个文件的部分MainActivity

MainActivity 中的按钮:

HADriver.java

驱动适配器.cpp

驱动程序.cpp

但是,我不断收到以下错误,每次单击testCout按钮时我的应用程序都会崩溃。

是什么赋予了?我不明白为什么这个本机调用不起作用!

0 投票
1 回答
586 浏览

android - java.lang.UnsatisfiedLinkError: debugLevel

好吧,我一直在左右浏览帖子试图找出这个错误..我已经设法修复了一些错误,但这只是让我发疯..它几乎没有信息..或者至少没有对我来说有任何意义。

我正在尝试重新设计 Mangler 应用程序以使用蓝牙录音(通过 startBluetoothSco),但我想确保原件在合并蓝牙功能之前可以正常工作。我将非常感谢我能在这件事上获得的任何帮助。

编辑:想也许我的问题是 jni_wrappers.c .. 前 3 个#include 没有解决.. 原始版本是在 linux 系统上出现的,所以它正在寻找 jni.h、stdint.h 和 ventrilo3.h

0 投票
2 回答
1587 浏览

java - 在 Netbeans 中加载 DLL

我正在尝试在 Netbeans 7.0.1 中加载 DLL 文件,

代码是

第一行没有错误,这行在提供者的演示中,现在我想加载另外两个 dll,我已经添加了接下来的两行并在库中添加了 dll 文件,但是我得到了错误

我已经解决了相同/相关的问题,但没有得到解决方案。所以,如果有人有,请给我建议。

0 投票
3 回答
22390 浏览

java - System.loadLibrary 不起作用。链中第二个库的 UnsatisfiedLinkError

我有通过 JNI 使用 cpp 共享库 libclient.so 的 java 程序 Client.class。libclient.so 构建为共享并使用 cpp 共享库 libhttp.so。

libclient.so 和 libhttp.so 放在文件夹/home/client/lib64
Client.class 放在/home/client/bin

客户端可以加载库

  1. System.load 和环境变量 LD_LIBRARY_PATH
  2. System.loadLibrary 和 -Djava.library.path

第一种方法效果很好。

export LD_LIBRARY_PATH = /home/client/lib64

java -classpath ./bin 客户端

第二种方式失败。

java -classpath ./bin -Djava.library.path=./../lib64 Client

当我将 libhttp.so 放入 /usr/lib64 时,第二种方法可以正常工作。

如果我使用 System.loadLibrary,为什么 libclient.so 会在 /usr/lib64 中寻找 libhttp.so?如何在不将 libhttp.so 复制到 /usr/lib64 的情况下修复它?

我的加载代码:

附加信息。

如果我用 ldd 测试 libclient.so,我会看到:libhttp.so => not found 如果我设置 export LD_LIBRARY_PATH = /home/client/lib64,那么我会看到:libhttp.so => /home/client/lib64/libhttp.so