JOGL 32与64位库错误

问题描述:

我是JOGL的新手。我使用Eclipse,并导入JOGL jar和dll(是的,Windows操作系统)。但是,当我搜索JOGL库时,我下载了32位版本。我有64位操作系统,但由于我可以运行32位应用程序,我认为它仍然更合适。但编译器正在抱怨:Can't load IA 32-bit .dll on a AMD 64-bit platformJOGL 32与64位库错误

嗯,首先,我认为Java本身并没有被架构分开。是的,我知道我使用本地库链接到Windows OpenGL接口(API),但我只是想将这些代码片段包含到java字节码中,所以为什么编译器不能让我使用32位呢?谢谢。

由于您拥有64位操作系统,因此您安装了64位JVM。 64位JVM无法使用32位DLL,因此您需要下载64位DLL,或者在系统上安装32位JVM,并将Eclipse设置为使用该JVM。

+0

谢谢,但为什么?我的意思是,从纯粹的JVM看,这只是一些代码片段。 CPU可以处理它,为什么JVM不能?我知道可能存在操作系统限制,但JVM可以以32位模式启动另一个进程并启动代码。 – 2011-03-16 21:15:33

+1

这不是一个特定于JVM的问题,它特定于Windows支持32位模拟的方式。有一些黑客/解决方法,但它们在任何情况下都不起作用,这就是为什么JVM不会尝试使用它们中的任何一个(请参阅:http://*.com/questions/128445/calling-32bit-代码从 - 64位处理)。 – JohnnyO 2011-03-17 14:00:58

64位JVM无法加载32位库。您需要启动32b JVM才能使其工作(或获得64b dll)。