質問

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

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

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

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

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

これは完全に機能します。ここで、コマンドラインオプション-ea -Djava.library.path = .. / lib / lwjgl / native / win32

を使用して、dist4ディレクトリ内にあるlaunch4j xmlファイルを定義しました。

ただし、exeファイルを実行しようとすると、リンクエラーが発生します。 (つまり、lwjgl dllが見つかりません)。

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

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

ありがとう。

役に立ちましたか?

解決

すべてのネイティブ(.ddl)ファイルを<!> quot; top <!> quot;にコピーして、この問題を回避します。ゲームexeの横のdir。

他のヒント

launch4jフォーラムでは、dllを必要とするSWTに関連して質問されました。 this または this または他の人がSWTの問題に対処した方法を検索します。

jarのビルド中にd32 jvm paramを渡すことを試みましたか。

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top