首页  >  文章  >  Java  >  如何解决 JNI 项目中的“UnsatisfiedLinkError:找不到依赖库”?

如何解决 JNI 项目中的“UnsatisfiedLinkError:找不到依赖库”?

Barbara Streisand
Barbara Streisand原创
2024-11-17 05:01:03431浏览

How to Resolve

JNI 项目中的 UnsatisfiedLinkError 故障排除

当在 JNI 项目中遇到“UnsatisfiedLinkError: Can't find dependentlibrary”问题时,这一点至关重要解决本机库与其依赖库之间存在问题的关系。

在您的情况下,mylib.dll 依赖于 libsndfile-1.dll,而 libsndfile-1.dll 又需要 MPR.DLL 和 SHLWAPI.DLL。如前所述,可以忽略 Dependency Walker 关于未解决的 MPR.DLL 和 SHLWAPI.DLL 导入的警告。

要解决此问题,请确保所有依赖 DLL 都存在于与 mylib.dll 或 mylib.dll 相同的目录中并且可访问沿着 Windows PATH 环境变量。

此外,系统属性 java.library.path 并不直接负责定位 DLL。在 Windows 中,如果未使用 java.library.path,则 DLL 必须位于当前工作目录或 PATH 目录中。

要进行验证,请运行“java -XshowSettings:properties -version”并检查共享库搜索路径的 java.library.path 属性。

记住,依赖库必须存在且可访问;它们与本机库的相对位置应遵守上述指南。

以上是如何解决 JNI 项目中的“UnsatisfiedLinkError:找不到依赖库”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn