在i386 Mac OS上加载java x86_64 jnilib

时间:2012-01-13 09:50:05

标签: java macos x86-64

i386架构上有MAC OS 10.5.8和jvm1.6.0_26 64位

我用java.library.path = lewys / macosx / x86_64启动了JVM,我有:

Caused by: java.lang.UnsatisfiedLinkError: .../macosx/x86_64/libLeWYS.jnilib:  no suitable image found.  Did find:  .../macosx/x86_64/libLeWYS.jnilib: mach-o, but wrong architecture
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1827)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1742)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1045)
    at org.objectweb.lewys.probe.macosx.CpuProbe.<clinit>(CpuProbe.java:58)
    at org.ow2.clif.probe.cpu.Insert.<init>(Insert.java:72)
    ... 55 more

有解决方法吗?

由于

PS:强制32位数据模型不起作用,例如:java -d32表示无法在32位模式下运行Java,在64位模式下继续

2 个答案:

答案 0 :(得分:0)

我认为你不能这样做,因为JVM中的本机库仅适用于x86-64位。

如果您运行的是具有虚拟化扩展的64位CPU,那么可以在虚拟机中运行它,因为您将回到64位环境中。

答案 1 :(得分:0)

您可以通过传递'-d32'作为VM参数来强制Eclipse中的32位: Forcing 32 bit

对于我来说,在OSX 10.8.4上使用JVM 1.6.0_51 64位

我收到了相同的编译错误并修复了它。