[英]Unsatisfied Link Error when trying to use LWJGL 2 with Eclipse
我正在使用 LWJGL 制作 Java 應用程序,按照本教程使用 Eclipse、Java 15 和 LWJGL 2。
Exception in thread "main" java.lang.UnsatisfiedLinkError:
/home/zixuan/workspace/GameEngine/lib/natives/liblwjgl64.so:
/home/zixuan/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.linux.x86_64_15.0.2.v20210201-0955/jre/lib/libjawt.so:
version `SUNWprivate_1.1' not found
(required by /home/zixuan/workspace/GameEngine/lib/natives/liblwjgl64.so)
我還添加了本機庫:
目前我的文件夾如下所示:
-GameEngine
-src
[sourcecode]
-bin
[bins]
-lib
-jars
-lwjgl.jar
-lwjgl_util.jar
-slick-util.jar
-natives
-libjinput-linux64.so
-libjinput-linux.so
-liblwjgl64.so
-liblwjgl.so
-libopenal64.so
-libopenal.so
我嘗試了從更改系統庫到重新安裝 Eclipse 的所有方法,但沒有運氣。 我該如何解決?
您正在使用 LWJGL 的一個非常非常舊和過時的版本,即版本 2,以及隨 Eclipse 一起提供的更現代的 Java/JRE 版本 15。
當您使用顯式的較舊 Java/JRE 版本,最好是 OpenJDK 8 時,將解決您的問題,因為它保證/測試可以與 LWJGL 2 一起使用。因此,下載 OpenJDK 8 並指示 Eclipse 使用它來運行您的應用程序。
LWJGL 2很可能根本不適用於任何高於 8 的 Java/JRE 版本,因為這是針對最后一個 LWJGL 2 發布版本測試的最后一個版本。 雖然舊的 Java 代碼確實應該適用於較新的 JRE/Java 版本,但這個 promise 會在本機代碼的情況下中斷,LWJGL 2 包含很多本機代碼,以便與 JRE 尤其是其 JAWT/AWT 庫進行互操作。
因此,在時間表上列出幾個日期,以了解您正在做的事情:
請記住,教程以及軟件/庫版本確實會過時,並最終因與先進的/更新的運行時及其提供的/依賴的庫不兼容而停止工作。
再次重申:LWJGL 2 現已完全報廢超過七年,不會進行改進/修復或其他工作。 下一個版本是 LWJGL 3(第一個版本於 2016 年發布),它正在積極開發中,甚至可以與最新的 JRE/Java 版本一起使用(OpenJDK 19 Early Access to this date)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.