1

slick と lwjgl を使用して単純な GUI を作成しました。Eclipse を使用しており、jar、ネイティブ、およびイメージを Java ビルド パスにインポートしました。コードを jar ファイルとしてエクスポートし、デスクトップに jar ファイルを取得して、開いてみました。 SE Binary を使用すると、しばらくロードしても何も起こりません。

それらをビルドパスにインポートした方法に関係している可能性があります。説明を試みます.Javaプロジェクト内に、作成した2つの追加フォルダーがあります。これらはlibとresです。resにはすべての画像とlibが保持されますjars と natives という 2 つの他のフォルダーを保持し、jars は 2 つの jar ファイル (slick と lwjgl) を保持し、natives は 4 つの他のフォルダー (windows、linux、mac、solaris ネイティブ) を保持します。add jars を使用して 2 つの jar ファイルをビルド パスにインポートしました。オプション、次に、クラスフォルダーの追加オプションを使用してresファイルをインポートし、その後、同じオプションを使用してlibフォルダーをインポートし、エクスポートしましたが、開きません。

Eclipse から jar ファイルをエクスポートする前に、次のポップアップ メッセージが表示されることに注意してください。

4

1 に答える 1

0

jar アーカイブ内にある場合、lwjgl はネイティブ ライブラリを使用できないようです。

解決策は、natives フォルダーをインストール ディレクトリまたは一時ディレクトリに展開することです。次に、lwjgl 関数を使用する前に、ネイティブへの新しいパスを設定する必要があります。たとえば、「lib/native」で解凍されたファイルで使用します

System.setProperty("org.lwjgl.librarypath", (new File("lib/native")).getAbsolutePath());
System.setProperty("java.librarypath", (new File("lib/native")).getAbsolutePath());
System.setProperty("net.java.games.input.librarypath", (new File("lib/native")).getAbsolutePath());

これが最も簡単な解決策のようです。たとえば、minecraft (lwjgl を使用) は、ネイティブを "%appdata%.minecraft\bin\natives" (Windows では、Linux では %appdata% の代わりに ~) に解凍します。

編集: 非常に関連する wiki ページ: http://lwjgl.com/wiki/index.php?title=Distributing_Your_LWJGL_Application

于 2013-01-24T01:24:19.147 に答える