当前位置:  开发笔记 > 编程语言 > 正文

Linux中的java.lang.UnsatisfiedLinkError

如何解决《Linux中的java.lang.UnsatisfiedLinkError》经验,为你挑选了1个好方法。

我已经设法进入一台linux机器来尝试这个答案中建议的HotKey库.

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

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

Exception in thread "main" **java.lang.UnsatisfiedLinkError:** /home/oracle/javasample/jxgrabkey-0.2.1_i386/lib/libJXGrabKey.so: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /home/oracle/javasample/jxgrabkey-0.2.1_i386/lib/libJXGrabKey.so)
   at java.lang.Runtime._load(libgcj.so.7rh)
   at java.lang.Runtime.load(libgcj.so.7rh)
   at java.lang.System.load(libgcj.so.7rh)
   at JXGrabKeyTest.main(JXGrabKeyTest.java:17)

我知道如何在Windows中处理这个问题(只需将DLL添加到PATH env var),但我对linux不太确定.

我已经阅读了一些关于LD_LIBRARY_PATH和其他一些env vars的内容,但我可以使它工作.

有什么建议?

编辑

在mmyers的支持下识别问题并阅读此线程和另一个.

我可以说:

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

我的GCC版本是(是):

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.

我想我必须等待它来或者作者在以前的版本中重新编译它.

mmyers,非常感谢你的帮助.



1> Michael Myer..:

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

编辑:重新阅读错误消息,它看起来你正在加载的本机库试图链接到glibc版本3.4.9,显然没有安装.你能看看你有什么版本的glibc吗?你在运行什么Linux发行版?

EDIT2:问题似乎缩小到libstdc ++.我即将掌握我的知识,但这个帖子可能很有用.它建议升级到gcc 4.2; 从评论中,您似乎有4.1.2版本.如果这不起作用,请告诉我.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有