首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java UnsatisfiedLinkError上的libpd

java UnsatisfiedLinkError上的libpd
EN

Stack Overflow用户
提问于 2016-02-04 09:23:11
回答 2查看 192关注 0票数 0

我正在第一次尝试在java中使用libpd。我使用的IDE是NetBeans。对于libpd,我使用这些二进制构建为Java。在运行代码时,我会得到一个java.lang.UnsatisfiedLinkError。在一些洞里说:

找不到依赖库

我在Android上看到了一个类似的问题,但Java没有回答。

编辑:这是完整的错误消息:

线程"main“中的异常: C:\Users\jaiserpe\AppData\Local\Temp\pdnative7141399841793639340.dll:无法在java.lang.ClassLoader$NativeLibrary.load(Native方法( java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1821) at java.lang.Runtime.load0(Runtime.java:809) at java.lang.System.load(System.java:1086 ))上找到依赖库)在org.puredata.core.NativeLoader.loadLibraryFromJar(NativeLoader.java:121) at org.puredata.core.NativeLoader.loadLibrary(NativeLoader.java:97) at org.puredata.core.PdBase.(PdBase.java:59) at holamundo.HolaMundo.main(HolaMundo.java:26) C:\Users\jaiserpe\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java返回:1构建失败(总时间:0秒)

EN

回答 2

Stack Overflow用户

发布于 2016-02-04 13:28:15

您似乎缺少了libpd的依赖库。

您可以使用DepndencyWalker来检查缺少的内容。

如果您认为所有必需的库都在那里,请确保它们在JVM中是可见的,以供加载。有关在Windows 这里上加载DLL的更多信息。

票数 1
EN

Stack Overflow用户

发布于 2016-02-06 20:09:43

这些DLL是用MinGW构建的。使用此处的http://comments.gmane.org/gmane.comp.gnu.mingw.user/38834技术,这些构建所需的DLL如下:

代码语言:javascript
复制
$ x86_64-w64-mingw32-objdump --all-headers java-build/org/puredata/core/natives/windows/x86_64/pthreadGC2.dll | grep 'DLL Name'
    DLL Name: KERNEL32.dll
    DLL Name: msvcrt.dll
    DLL Name: WS2_32.dll
$ x86_64-w64-mingw32-objdump --all-headers java-build/org/puredata/core/natives/windows/x86_64/pdnative.dll | grep 'DLL Name'
    DLL Name: ADVAPI32.dll
    DLL Name: KERNEL32.dll
    DLL Name: msvcrt.dll
    DLL Name: msvcrt.dll
    DLL Name: pthreadGC2.dll
    DLL Name: WS2_32.dll
$ x86_64-w64-mingw32-objdump --all-headers java-build/org/puredata/core/natives/windows/x86/pdnative.dll | grep 'DLL Name'
    DLL Name: ADVAPI32.dll
    DLL Name: KERNEL32.dll
    DLL Name: msvcrt.dll
    DLL Name: msvcrt.dll
    DLL Name: pthreadGC2.dll
    DLL Name: WS2_32.dll
$ x86_64-w64-mingw32-objdump --all-headers java-build/org/puredata/core/natives/windows/x86/pthreadGC2.dll | grep 'DLL Name'
    DLL Name: KERNEL32.dll
    DLL Name: msvcrt.dll
    DLL Name: WS2_32.dll

如果不再在系统上找到所有这些依赖项,或者只是过时了,那么重新编译all可能会对您有效。

祝好运。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35197057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档