问题标签 [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.
visual-studio-2012 - UnsatisfiedLinkError 的原因
我有一个C++
代码,我用它编译Visual Studio 2012
为.dll
.
然后,我使用该方法将该库加载到 Java 应用程序中System.loadLibrary
。
我已经做了很多时间,在 Visual Studio 上用旧版本编译库,没有问题。
现在,用 VS2012 编译它我得到这个错误:
我检查了 .dllDependecy Walker
并且没有缺少依赖项。
我真的不知道我能做些什么才能让它发挥作用。
你能给我一些提示吗?
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 测试。MyLibraryClass
MyClass
MyLibraryClass
UnsatisfiedLinkError
MyLibraryClass
当我运行 plugin-2 (使用产品配置)并实例化MyClass
时,本机库加载正常,但我得到一个UnsatisifiedLinkError
when MyClass
instantiates MyLibraryClass
。在这种情况下,我相信该库是根据我使用发布如何获取已加载的 JNI 库列表中描述的类获得的输出加载的?
注意:我使用的是 Eclipse 3.6.1。
这是一个代码示例,它显示了我正在尝试做的事情的本质: package com.mylibrary;
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/3
(setarg/3
也不起作用)
这是我的序言代码:
我尝试使用JPL
fromSWI Prolog
但由于严重异常指出 Eclipse 无法正确找到库而无法运行它。我总是得到以下例外之一:
即使遵循此指南和本指南,我也无法解决我的问题。在 Windows(32 位)和 Ubuntu(64 位)上都没有。
您对我有什么解决方案可以让我JPL
跑步或如何使用nb_setarg/3
吗?到目前为止,我花了一天半的时间没有任何结果。相当令人沮丧...
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 位,所以这都是兼容的。
有谁知道出了什么问题?
java - 使用 UnsatisfiedLinkError 解析 Java CDF 文件
我正在使用 Java 中的 CDF(文件万事达卡使用)文件解析器,我正在使用此处找到的 API 。为了使用这个 API,你需要 jar 文件..
我不明白我是如何得到这个异常的,因为它应该在 getFile() 方法中处理..我用谷歌搜索了一下,我仍然不明白问题是什么..如果有人能指出我的正确那会很棒的方向。通过跟踪堆栈跟踪 .. 对我来说,这似乎是图书馆的问题。
在这里可以找到 api 的链接:http: //cdf.gsfc.nasa.gov/cdfjava_doc/cdf34/
尝试打开 CDF 文件时,运行程序后出现此错误:
这是我的源代码:
我运行的命令如下:
java - 带有 JACOB 和 jre 1.7 的 UnsatisfiedLinkError
我整理了一个使用 JACOB 访问 iTunes 的程序......它在 Eclipse 中运行良好,但是当我导出它并在命令提示符下运行它时,我收到一个不满意的链接错误,告诉我 jacob-1.17-M2-x86.dll 是不在我的 java.library.path 中。
我尝试将其放入 system32 中,将本机库位置设置为其目录...我尝试使用 system.setproperties 技巧...但我无法弄清楚如何正确使用 java -d
我还可以做些什么?我在网上搜索了 4 个多小时试图使其兼容,但似乎没有任何效果。
android-ndk - 使用 Android NDK 调用本机代码构建时出现 UnsatisfiedLinkError
我在一个简单的 android 应用程序中有一个按钮,用于调用本机函数。主活动中的按钮调用 HADriver.java 的一个函数。该函数依次调用 DriverAdapter.cpp 中的 JNI 函数。然后,该 JNI 函数依次调用 Driver.cpp 中的本机函数。testCout
以下是在单击按钮时发挥作用的每个文件的部分MainActivity
。
MainActivity 中的按钮:
HADriver.java
驱动适配器.cpp
驱动程序.cpp
但是,我不断收到以下错误,每次单击testCout
按钮时我的应用程序都会崩溃。
是什么赋予了?我不明白为什么这个本机调用不起作用!
android - java.lang.UnsatisfiedLinkError: debugLevel
好吧,我一直在左右浏览帖子试图找出这个错误..我已经设法修复了一些错误,但这只是让我发疯..它几乎没有信息..或者至少没有对我来说有任何意义。
我正在尝试重新设计 Mangler 应用程序以使用蓝牙录音(通过 startBluetoothSco),但我想确保原件在合并蓝牙功能之前可以正常工作。我将非常感谢我能在这件事上获得的任何帮助。
编辑:想也许我的问题是 jni_wrappers.c .. 前 3 个#include 没有解决.. 原始版本是在 linux 系统上出现的,所以它正在寻找 jni.h、stdint.h 和 ventrilo3.h
java - 在 Netbeans 中加载 DLL
我正在尝试在 Netbeans 7.0.1 中加载 DLL 文件,
代码是
第一行没有错误,这行在提供者的演示中,现在我想加载另外两个 dll,我已经添加了接下来的两行并在库中添加了 dll 文件,但是我得到了错误
我已经解决了相同/相关的问题,但没有得到解决方案。所以,如果有人有,请给我建议。
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
客户端可以加载库
- System.load 和环境变量 LD_LIBRARY_PATH
- 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