我正在尝试使用 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 路径?

谢谢。

有帮助吗?

解决方案

我通过所有的原生(.ddl)文件复制到回避这个问题的“顶” DIR旁边的游戏的exe。

其他提示

在 launch4j 论坛上,有人询问此问题与需要 dll 的 SWT 相关。看 或者 或者搜索其他人如何处理 SWT 问题。

您是否尝试在构建 jar 时使用传递 d32 jvm 参数?

这是你如何做的

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