我已經成功地進入一個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