java.lang.UnsatisfiedLinkError,我无法解决它

标签 java hyperlink native opencl

我正在尝试设置一个使用 Java 和 OpenCL 的程序。我为此使用 JOCL 的绑定(bind)。这是我从 Ant 构建时遇到的错误:

Error while loading native library "JOCL-linux-x86_64" with base name "JOCL"
    Operating system name: Linux
    Architecture         : amd64
    Architecture bit size: 64
    Stack trace:
    java.lang.UnsatisfiedLinkError: no JOCL-linux-x86_64 in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1734)
        at java.lang.Runtime.loadLibrary0(Runtime.java:823)
        ...
        ...

这是我的 .bashrc 设置:

export PATH=.:/bin:/usr/bin:/usr/local/bin://home/djkashta/Desktop/bp-trunk/app/BlueprintCore/scripts:/usr/java/jdk1.6.0_23/bin

export LD_LIBRARY_PATH=/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/lib:/usr/local/lib:/usr/local/cuda/computeprof/bin:/home/djkashta/Desktop/bp-trunk/bundles/CopperShark/native/linux/2.6.28/x86_64/:/usr/java:/usr/java/jdk1.6.0_23/bin/java:/usr/java/jdk1.6.0_23:/usr/java/jdk1.6.0_23/bin:/usr/lib/jvm

export LD_PRELOAD=/usr/java/jdk1.6.0_23/jre/lib/amd64/libjsig.so

export JDK_HOME=/usr/java/jdk1.6.0_23

export JAVA_HOME=/usr/java/jdk1.6.0_23
export ANT_HOME=/opt/apache-ant-1.7.1

我不明白为什么我会遇到这个问题。我在我的 Ubuntu 机器上没有得到这个,它的设置就像这台 RedHat 机器一样。 libJOCL-linux-x86_64.so 存在于 LD_LIBRARY_PATH 之一中。如果我执行哪个 Java,我会得到: /usr/java/jdk1.6.0_23/bin/java

有什么想法吗?我被困住了...

最佳答案

LD_LIBRARY_PATH 和 java.library.path 并不相同,尽管它们很相似。在命令行上将 -Djava.library.path 设置为您的库所在的位置。

或者,甚至 - System.out.println(System.getProperty("java.library.path")) 在加载库之前 - 看看它认为路径是什么......

关于java.lang.UnsatisfiedLinkError,我无法解决它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4662106/

相关文章:

java - 在应用程序中保存数据

java - 如何在另一个对象的 JTextArea 中显示一个对象的数据?

javascript - 已部署的 bluemix 应用程序上超链接的上下文根

android - native 调试 Android Studio

java - 不能影响始终为空的简单 Double[] 表的值 - 2 个代码之间的比较

java - 在Java中通过行号和行位置检索XML节点

WPF - 从数据获取超链接命令?

c# - ASP、超链接 打开小窗口

c# - native 上下文菜单 c#

windows - 如何让 DirectShow 播放资源中的视频?