2014-05-09 4 views
1

J'essaie d'utiliser LWJGL à partir d'une applet, mais il semble charger des bibliothèques 32 bits sur ma machine 64 bits en me donnant cette erreur: java.lang.UnsatisfiedLinkError: C:\Users\Max\AppData\Roaming\mcoln172\lwjgl.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform, j'ai regardé à travers le fichier Sys à partir de LWJGL, et il utilise la valeur os.arch pour déterminer d'utiliser les bibliothèques 64 bits ou 32 bits. J'ai imprimé mes ordinateurs os.arch, et il semble que ce soit, comme prévu, amd64. Il ne devrait même pas essayer de charger lwjgl.dll du tout, mais il le fait, et je ne peux pas savoir ce qui ne va pas. Aidez-moi?Je ne peux pas charger .dll 32 bits IA sur une plate-forme AMD 64 bits LWJGL

+0

Indiquez le code dans lequel vous chargez les bibliothèques LWJGL (le cas échéant). Vous pouvez essayer de charger explicitement le fichier 64 bits. – MarsAtomic

Répondre

0

J'ai eu le même problème. J'ai dû regarder le code LWJGL pour découvrir que si le chargement de lwjgl64.dll échoue, il va essayer de charger la version 32 bits à la place. La partie confuse est que cet échec est silencieux. Vous pouvez le faire produire un journal en activant le mode de débogage LWJGL, avec par exemple:

System.setProperty("org.lwjgl.util.Debug", "true") 

faire qui a révélé l'erreur suivante en essayant de charger le 64 bits lib:

[error] [LWJGL] Failed to load 64 bit library: lwjgl64.dll: Access is denied

Si vous avez le même , une solution semble donner des permissions "d'exécution" appropriées au fichier (this post aidé, pour moi). Je ne suis pas sûr de savoir comment faire cela dans toutes les versions de Windows, mais heureusement, je peux accéder à mes fichiers via Linux aussi, et un simple chmod +x travaillé.

Questions connexes