2

launch4j を使用して jar を exe としてラップしようとしています。ただし、lwjgl ライブラリを使用していて、ネイティブ dll のリンクに問題があります。私のディレクトリ構造は次のとおりです。

次のパスを含むトップ ディレクトリがあります: top/lib/lwjgl/native/win32 ここに、lwjgl dll が含まれています。

私のjarを含むdistディレクトリもあります top/dist/myapp.jar

次のコマンドを使用して、dist ディレクトリ内のコマンドラインからプログラムを実行できます。

java -ea -Djava.library.path=../lib/lwjgl/native/win32 -jar app.jar

そしてそれは完全に機能します。ここで、-ea -Djava.library.path=../lib/lwjgl/native/win32 のコマンドライン オプションを使用して、dist ディレクトリ内に存在するように launch4j xml ファイルを定義しました。

ただし、exe ファイルを実行しようとすると、不満足なリンク エラーが発生します。(つまり、lwjgl dll が見つからないということです)。

これを複数の異なる方法で定義しようとしました。changedir を ../ として定義し、 -ea -Djava.library.path=lib/lwjgl/native/win32 を使用し、exe をトップ ディレクトリに移動して /dist/app.jar と lib パスを使用しようとしました何も機能していないようです。

誰かが以前にこれに似た問題を抱えていましたか? launch4j に dll パスを認識させるにはどうすればよいですか?

ありがとう。

4

3 に答える 3

2

launch4j フォーラムでは、dll を必要とする SWT に関連して、これが尋ねられました。thisまたはthisを参照するか、他の人が SWT の問題にどのように対処したかを検索してください。

于 2009-03-16T06:28:03.167 に答える
1

すべてのネイティブ (.ddl) ファイルをゲーム exe の隣の「トップ」ディレクトリにコピーすることで、この問題を回避します。

于 2009-03-22T17:49:36.037 に答える
-1

jar のビルド中に d32 jvm パラメータを渡して試してみましたか。

これがあなたのやり方です

http://www.technimi.com/index.php?do=/group/java/forum/building-an-exe-using-launch4j-for-32-bit-jvm/

于 2010-11-10T17:06:44.007 に答える