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