在i386 Mac OS上加载java x86_64 jnilib

在i386 Mac OS上加载java x86_64 jnilib,java,macos,x86-64,Java,Macos,X86 64,我有一个基于i386体系结构和jvm1.6.0_26 64位的MacOS10.5.8 我已经用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

我有一个基于i386体系结构和jvm1.6.0_26 64位的MacOS10.5.8

我已经用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
原因:java.lang.unsatifiedLinkError:…/macosx/x86_64/libLeWYS.jnilib:未找到合适的映像。确实找到:…/macosx/x86_64/libLeWYS.jnilib:mach-o,但架构错误
位于java.lang.ClassLoader$NativeLibrary.load(本机方法)
位于java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1827)
位于java.lang.ClassLoader.loadLibrary(ClassLoader.java:1742)
位于java.lang.Runtime.loadLibrary0(Runtime.java:823)
位于java.lang.System.loadLibrary(System.java:1045)
位于org.objectweb.lewys.probe.macosx.CpuProbe。(CpuProbe.java:58)
位于org.ow2.clif.probe.cpu.Insert.(Insert.java:72)
... 55多
有解决办法吗

谢谢


PS:强制32位数据模型不起作用,例如:java-d32说不能在32位模式下运行java,继续在64位模式下运行。

我认为您不能这样做,因为JVM中的本机lib仅用于x86-64位


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

您可以在Eclipse中通过将“-d32”作为VM参数来强制32位:

这对我来说适用于OSX 10.8.4上的JVM 1.6.05164位


我收到了相同的编译错误,这就解决了它。

您正在32位体系结构上运行64位JVM?嗯……是的,正如我说的,我不能在32位模式下运行1.6jvm。你为什么要这样做?没有理由在32位Windows上运行64位VM。我能想到的唯一原因是VM附带了一个VM。这是一种让供应商望而生畏的做法。你不能安装一个32位的JVM吗?MacOS 10.5.x上似乎有一个32位Java 6的端口:@owlstead他没有在Windows上运行:),顺便说一句::D