我正在尝试从applet使用LWJGL,但是它似乎正在64位计算机上加载32位库,这给了我这个错误:java.lang.UnsatisfiedLinkError: C:\Users\Max\AppData\Roaming\mcoln172\lwjgl.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
,我从LWJGL中浏览了Sys文件,它使用了os .arch值确定使用64位还是32位库。我打印了我的计算机os.arch,似乎与预期的一样,它是amd64。它甚至根本不应该尝试加载lwjgl.dll,但是确实可以加载,而且我无法找出问题所在。救命?
最佳答案
我有同样的问题。我必须查看LWJGL代码才能发现,如果加载lwjgl64.dll失败,它将尝试加载32位版本。令人困惑的是,这种失败是无声的。您可以通过激活LWJGL调试模式来使其生成日志,例如:
System.setProperty("org.lwjgl.util.Debug", "true")
这样做揭示了以下错误,试图加载64位lib:
[错误] [LWJGL]无法加载64位库:lwjgl64.dll:访问为
被拒绝
如果您具有相同的名称,则一种解决方案似乎是对该文件赋予适当的“执行”权限(对我来说,this post帮助了)。我不确定如何在所有Windows版本中执行此操作,但值得庆幸的是,我也可以通过linux访问我的文件,并且简单的
chmod +x
也可以工作。关于java - 无法在AMD 64位平台LWJGL上加载IA 32位.dll,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23555366/