Comment lier une DLL lwjgl à launch4j
Question
J'essaie d'envelopper mon bocal en tant qu'exe en utilisant launch4j. Cependant, j'utilise la bibliothèque lwjgl et rencontre des difficultés pour lier les dll natives. Ma structure de répertoire est la suivante:
J'ai un répertoire principal qui contient le chemin suivant: top / lib / lwjgl / native / win32 où sont contenues mes dll lwjgl.
Il existe également un répertoire dist contenant mon fichier jar top / dist / myapp.jar
Je peux exécuter mon programme à partir de la ligne de commande dans le répertoire dist à l'aide de la commande suivante:
java -ea -Djava.library.path = .. / lib / lwjgl / native / win32 -jar app.jar
et cela fonctionne parfaitement. Maintenant, j'ai défini mon fichier XML launch4j comme résidant dans le répertoire dist avec une option en ligne de commande de -ea -Djava.library.path = .. / lib / lwjgl / native / win32
Cependant, lorsque j'essaie d'exécuter le fichier exe, une erreur de lien non satisfaite se produit. (Cela signifie qu'il ne peut pas trouver mes dll lwjgl).
J'ai essayé de définir cela de différentes façons. J'ai défini changesir comme ../ et ai utilisé -ea -Djava.library.path = lib / lwjgl / native / win32, tout en essayant de déplacer mon exe dans le répertoire supérieur et d'utiliser /dist/app.jar et le chemin de la lib et rien ne semble fonctionner.
Quelqu'un at-il déjà eu un problème similaire à celui-ci? Comment puis-je faire en sorte que launch4j reconnaisse mon chemin d'accès à la DLL?
merci.
La solution
Je contourne ce problème en copiant tous les fichiers natifs (.ddl) vers le "haut". dir à côté du fichier exe.
Autres conseils
Avez-vous essayé d'utiliser le paramètre d32 jvm lors de la construction du fichier.
Voici comment vous le faites