2

我正在尝试使用 launch4j 将我的 jar 包装为 exe。但是我正在使用 lwjgl 库并且无法链接本机 dll。我的目录结构如下:

我有一个顶级目录,其中包含以下路径:top/lib/lwjgl/native/win32,其中包含我的 lwjgl dll。

还有一个 dist 目录包含我的 jar 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 将我的 launch4j xml 文件定义为驻留在 dist 目录中

但是,当我尝试运行 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 相关的问题。请参阅thisthis或搜索其他人如何处理 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 回答