我已经成功地进入一个Linux机器尝试热键图书馆this answer.java.lang.UnsatisfiedLinkError中在Linux中
建议我编译示例代码,现在我运行该程序,我有以下消息:
[[email protected] 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环境变量),但我不是很肯定的Linux。
我读过一些关于LD_LIBRARY_PATH和一些其他env vars,但我可以使它工作。
有什么建议吗?
编辑
从mmyers支持后indentify问题和阅读this thread和this other。
我可以告诉大家:
我的系统是:Linux的2.6.18-53.el5
我的版本的GCC(S)是(是):
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,非常感谢您的帮助。
实际上,从错误中看起来你正在加载的库试图链接到你没有的glibc版本。 – 2009-02-11 21:39:54
@ mmyers @你的编辑:当然。我怎么做? :S ...有没有像glibc -version的东西? .... – OscarRyz 2009-02-11 21:45:52