簡體   English   中英

嘗試將 LWJGL 2 與 Eclipse 一起使用時出現不滿意的鏈接錯誤

[英]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)

這是我當前的 buildpath 組織: 在此處輸入圖像描述

我還添加了本機庫:

在此處輸入圖像描述

目前我的文件夾如下所示:

-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 庫進行互操作。

因此,在時間表上列出幾個日期,以了解您正在做的事情:

  • Java 8 發布日期:2014年3月
  • 您正在觀看的 YT 教程的發布日期:2014 年 7 月
  • 最后一次 LWJGL 2 版本 (2.9.3):2015 年 1 月...
  • Java 15 發布日期:2020年9月

請記住,教程以及軟件/庫版本確實會過時,並最終因與先進的/更新的運行時及其提供的/依賴的庫不兼容而停止工作。

再次重申:LWJGL 2 現已完全報廢超過七年,不會進行改進/修復或其他工作。 下一個版本是 LWJGL 3(第一個版本於 2016 年發布),它正在積極開發中,甚至可以與最新的 JRE/Java 版本一起使用(OpenJDK 19 Early Access to this date)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM