问题标签 [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.
jdic - JDIC 库路径
我的 java 应用程序中有以下行
webBrowser = new WebBrowser(new URL("http://java.net"));
它导致以下错误
任何想法如何纠正它
java - Eclipse (Helios) 无法加载 DLL
我的 Java 程序在 Windows 上失败并出现以下错误。
我尝试了不同的东西,比如
- 将 DLL 的位置添加到系统的路径环境变量
在程序中明确设置 DLL 的位置,如下所示
/li>
我看到的 java.library.path 如下所示。
有问题的 DLL 在“C:\extlibs”中可用。有几个观察结果是,当我将 DLL 放入“C:\Program Files\Java\jre6\bin”时,我的程序并不依赖 DLL(即加载它),但我必须处理许多其他 DLL也。
任何人都可以阐明这种行为吗?顺便说一句,我也无法弄清楚 eclipse 从哪里选择 C:\Program Files\Java\jre6\bin 并添加到 java.library.path?它不是系统路径环境变量的一部分。
java - IntelliJ java.lang.UnsatisfiedLinkError: C:\User\...\java_bridge.dll: 找不到依赖库
我正在尝试将 IntelliJ java Web 应用程序项目(Maven 项目)从 linux 系统导入 Windows 系统。这个 java 程序依赖于 2 个外部库来运行。
在 linux 系统上,当我运行我的测试用例(并成功通过)时,两个库都加载正常,但是当我移至 Windows 系统时,其中 1 个库不再正常工作(是的,我确实确保获得了适当的窗口二进制文件)。
我不断收到错误
此时我不确定我做错了什么,因为 .dll 存在于目录中。.dll 的位置也存在于 Windows PATH 变量中,我已使用 -Djava.library.path=C:\Users\Admin\Desktop\SAINT\Packages\cellml-sdk-1.9\lib 指定给 java
谢谢
java - JNI:在路径上找到库,但未找到方法 (java.lang.UnsatisfiedLinkError)
我正在尝试使用 JNI 并获取 java.lang.UnsatisfiedLinkError。与其他有关此问题的数百万个问题不同,我的路径上有这个库,甚至在我删除它时也看到了异常变化。我确定我创建的 dll 有问题,但我不确定是什么。
这是我的java类代码:
这是我的 javah 生成的头文件的删节部分:
这是我的 C++ 代码:
这是我从 eclipse 得到的运行时异常:
我读到上面的异常意味着它确实找到了库“lala”,但是仍然没有定义方法“add”。我认为我的项目和教程之间的唯一不同之处是:
- 我的使用一个包,而不是默认包(教程不应该真的这样做吗?!?!来吧,让我们变得专业)
- 我的有一个返回值。
- 我在创建 dll 后移动了它(我认为这不会破坏它,因为我的路径已配置。)
这怎么可能?
其他信息:
操作系统:Windows 7
JDK:1.6.0_31(用于 x86,32 位 jvm)
C++ IDE:Code::Blocks(DLL 由 Code::Blocks IDE 自动编译)
C++ 编译器:MinGW32-g++(GNU C++ 编译器)
我在 C:\_\include 中有 jni.h 和 com_Tune.h
我在 C:\_\lib 中有 lala.dll
环境变量:
路径:C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%CommonProgramFiles%\Microsoft Shared\Windows Live;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\程序文件 (x86)\AMD APP\bin\x86;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files ( x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Apps;%JAVA_HOME%\bin;C:\Program Files\MySQL\MySQL Server 5.5\bin;%MAVEN_HOME%\bin;%HADOOP_INSTALL%\bin ;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\ DTS\Binn\;C:\MinGW\bin;C:\Program Files (x86)\GnuWin32\bin;C:_\path;C:\_\lib;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin;C:\_\包括
android - Android NDK 偶尔出现 UnsatisfiedLinkError
我正在寻找线索,为什么我的 Android 应用程序会在特定的 ndk 调用上偶尔抛出 UnsatisfiedlinkError 异常:
我有一个通过 ndk 加载一个本机库的 Android 应用程序。
本机库是用 C++ 编写的并使用 STL(在我的 makefile 中我设置了 APP_STL := stlport_static)。没有使用或不需要其他库。本机库为大约 20 个 Java 类提供了大约 300 个本机方法。
大多数时候一切正常。但是我的用户时不时会收到 UnsatisfiedLinkError 异常。异常总是在同一个本地函数调用的同一位置触发,但奇怪的是,它甚至不是对本地函数的第一次调用,甚至不是对特定本地函数的第一次调用。
任何线索都会受到欢迎,为什么一个特定的本机调用可能会失败。ndk容易被破坏吗?你如何调试这样的问题?
具有相同调用的简单测试程序就可以正常工作。不过这里是源代码的一些部分:
这是Java中的问题ndk函数:
这是头文件: extern "C" { ...
这是实现:
java - 加载共享库时 Java 版本 1.6 UnsatisfiedLinkError,Java 1.4 工作正常吗?
问题解决了。libjnidiagnosticsserver.so 缺少链接器库和 libfesdiagnosticsserver.so 的路径。Java 1.4 在定位未定义符号方面必须比 Java 1.6 更加自由。感谢大家的帮助。关于公平地结束这件事的礼仪有什么建议吗?
(免责声明:Java新手)
我编写了一个 Java 应用程序,它使用 JNI 来调用我的 C++ 共享库。它打印 java 版本并在执行时获取并打印 LD_LIBRARY_PATH。
Java 1.4 版 - 一切都很好!:
Java 1.6 版 - UnsatisfiedLinkError:
“未定义符号” _ZN17DiagnosticsServerC1Ev在libfesdiagnosticsserver.so中定义。Java 1.4 看到了,Java 1.6 没有?System.loadLibrary("fesdiagnosticsserver") 调用有效。Java 1.6 loadLibrary 不知道去哪里找?
两种情况下的环境是相同的:
本机 C++ 共享库编译选项:
当它在 Java 1.4 下工作时,我必须首先加载 jnidiagnosticsserver 的依赖项。我不明白为什么。我希望 LD_LIBRARY_PATH 会解决这个问题:
安全问题?Java版本配置问题?
提前感谢任何方向,
-埃德
PS:我的目标是让我的 Java 源代码在 Glassfish RESTful Web 服务中运行。如果 LD_LIBRARY_PATH 可以为 java 应用程序解决,我希望同样的解决方案将适用于 Glassfish 3。
java - JamVm 未在 Gumstix 上运行应用程序(使用 jpcap)
这里的新手非常抱歉提出任何愚蠢/明显的问题。我正在尝试在 Gumstix overo 板(Linux 内核 2.6.34)上运行 Java 应用程序。到目前为止,我已经安装了 JamVm (jvm)、jikes 编译器和类路径库(按照本教程中的说明)。我已经运行了一个 HelloWorld 程序,它看起来还不错。
现在,当我尝试运行另一个使用“jpcap”库的应用程序(比如“MyApp”)时,jvm 给了我一个如下所示的错误: 事件调度期间的异常:java.lang.UnsatisfiedLinkError: Native libarary 'jpcap' not found (作为文件'libjpcap.so')在 gnu.classpath.boot.library.path 和 java.library.path 。. .
此应用程序是使用 Netbeans 7.1 编译的。它生成了一个 dist 文件夹,其结构如下:
dist: |-- MyApp.jar |-- 自述文件 |-- lib(文件夹)|---|-- jpcap.jar |---|-- swing-layout-1.0.4.jar
自述文件说,为了部署这个应用程序,应该去 dist 文件夹并输入'java -jar "MyApp.jar"。当我这样做时('jamvm -jar MyApp.jar'),我得到了上面提到的错误。
我的 gumstix 板已经安装了 libpcap-1.1.1-r1.6。(我在我的板上找到了 /usr/lib/libpcap.so.1。)
有谁知道出了什么问题?任何建议将不胜感激。
Ps:几分钟前我已经在 gumstix-users 列表上发布了这个问题。我也在这里发帖,只是为了有更好的回复机会。希望这里的每个人都可以。
java-native-interface - GeoTools/GDAL:警告:无法加载 kakadu 本机库
我正在尝试使用 GeoTools 读取 dted 文件,但我遇到了很多配置问题。我正在使用eclipse和java。这是我的代码的精简版:
导入 org.geotools.coverageio.gdal.dted.DTEDReader;
当我运行时,控制台会显示一条消息“警告:无法加载 Kakadu 本机库”。然后它继续打印 UnsatisfiedLinkError 的堆栈跟踪。
我的系统路径包括: C:_path C:\Program Files\gdal-1.9.0 C:\%JAVA_HOME%\bin C:\Program Files\Common Files\ESRI\Raster\bin\ntx86
最后一个包含很多 dll,包括我在我的机器上找到的唯一一个名称中有 kakadu 的 dll。
在 C:_path 我有这个:
gdal19.dll
gdaljni.dll
ogrjni.dll
osrjni.dll
gdalconstjni.dll
gdal.jar
这些文件也被复制到我的 Eclipse 项目的根目录中。我的 Eclipse 构建路径包括 gdal.jar 和在 C:\Program Files\geotools-2.7.4 中找到的每个 jar
在我的 Eclipse 项目的根目录中,我有这个:
gdal19.dll
gdaljni.dll
ogrjni.dll
osrjni.dll
gdalconstjni.dll
kakaducoresys.dll
哦,是的,我定义了另一个环境变量:GDAL_DATA 设置为“C:\Program Files\gdal-1.9.0”
有人可以向我解释为什么 DTEDReader 找不到必要的库吗?
dll - Jni + Unsatisfied Link Error + 找不到依赖库
我正在尝试编写一个使用依赖于另一个 dll 的 dll 的 JNI 应用程序。我已将两个 dll 放在同一个文件夹中。但是当我运行Java程序时仍然出现错误
引起:java.lang.UnsatisfiedLinkError: \eclipse_workspaces\Learning\Lesson93_Beyond_Test3\bin\QuestionSDK-1.0.dll: 找不到依赖库
如果我删除对依赖库的调用,我的库加载正常,所以我知道路径是正确的。我错过了什么。请帮忙。
android - RedLaser Sdk UnsatisfiedLinkError
我正在使用 Android 许可的 RedLaser sdk。我尝试了很多东西,但仍然收到 UnsatisfiedLinkError。请帮帮我。
堆栈跟踪如下: