Linux中的java.lang.UnsatisfiedLinkError

我设法进入Linux机器尝试此答案中建议的HotKey库。

我已经编译了示例代码,现在运行该程序,并收到以下消息:

[oracle @ machine jxgrabkey-0.2.1_i386] $ java -classpath lib / JXGrabKey.jar:示例JXGrabKeyTest

线程“主”中的异常** java.lang.UnsatisfiedLinkError:** /home/oracle/javasample/jxgrabkey-0.2.1_i386/lib/libJXGrabKey.so:/usr/lib/libstdc++.so.6:版本`GLIBCXX_3。找不到4.9'(/home/oracle/javasample/jxgrabkey-0.2.1_i386/lib/libJXGrabKey.so所需)

在java.lang.Runtime._load(libgcj.so.7rh)

在java.lang.Runtime.load(libgcj.so.7rh)

在java.lang.System.load(libgcj.so.7rh)

在JXGrabKeyTest.main(JXGrabKeyTest.java:17)

我知道如何在Windows中处理此问题(仅通过将DLL添加到PATH env var中),但是我不确定Linux。

我已经阅读了有关LD_LIBRARY_PATH和其他一些env var的内容,但是我可以使其正常工作。

有什么建议吗?

经过mmyers的支持,确定问题并阅读此主题和其他主题。

我可以告诉:

我的系统是:Linux 2.6.18-53.el5

我的GCC版本是(are):

gcc-c ++-4.1.2-14.el5

gcc-gfortran-4.1.2-14.el5

libgcc-4.1.2-14.el5

gcc-4.1.2-14.el5

问题是我需要gcc 4.2.0

Aaand显然我的系统没有gcc 4.2.0。

我猜我将不得不等待它来临,否则作者将在以前的版本中重新编译它。

谢谢,非常感谢您的帮助。

回答:

你尝试了-Djava.library.path=/path/to/library吗?

重新读取该错误消息,在我看来,您正在加载的本机库正试图链接到glibc版本3.4.9,这显然没有安装。您可以检查您使用的glibc版本吗?您正在运行什么Linux发行版?

问题似乎 于libstdc

++。我将尽我所能,但是该线程可能有用。建议升级到gcc

4.2;从注释中,您似乎具有版本4.1.2。让我知道那是否行不通。

以上是 Linux中的java.lang.UnsatisfiedLinkError 的全部内容, 来源链接: utcz.com/qa/402140.html

回到顶部