Вопрос

Я пытаюсь обернуть свой jar в виде exe-файла, используя launch4j.Однако я использую библиотеку lwjgl и у меня возникают проблемы со связыванием собственных DLL-файлов.Моя структура каталогов выглядит следующим образом:

У меня есть верхний каталог, который содержит следующий путь:top/lib/lwjgl/native /win32, где содержатся мои библиотеки DLL lwjgl.

Существует также каталог dist, который содержит мой jar top/dist/myapp.jar

Я могу запустить свою программу из командной строки в каталоге dist, используя следующую команду:

java -ea -Djava.библиотека.путь=../lib/lwjgl/native/win32 -jar app.jar

и это работает идеально.Теперь я определил, что мой XML-файл launch4j будет находиться в каталоге dist с параметром командной строки -ea -Djava.library.path= ../lib/lwjgl/native /win32

Однако, когда я пытаюсь запустить exe-файл, я получаю сообщение об ошибке неудовлетворенной ссылки.(Это означает, что он не может найти мои библиотеки DLL lwjgl).

Я пытался определить это несколькими различными способами.Я определил измененный каталог как ../ и использовал -ea -Djava.library.path=lib/lwjgl/native /win32, а также попытался переместить свой exe-файл в верхний каталог и использовать /dist/app.jar и путь к библиотеке, и, похоже, ничего не работает.

Сталкивался ли кто-нибудь с подобной проблемой раньше?Как я могу заставить launch4j распознать мой путь к dll?

Спасибо.

Это было полезно?

Решение

Я обхожу эту проблему, копируя все собственные файлы (.ddl) в "верхний" каталог рядом с исполняемым файлом игры.

Другие советы

На форумах launch4j этот вопрос задавался в связи с SWT, для которого требуются библиотеки dll.Видишь это или это или поищите, как другие справлялись с проблемами SWT.

Вы пробовали использовать передачу параметра jvm d32 при сборке jar?

Вот как вы это делаете

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