Mac OS X上的64位libjvm.dylib

时间:2013-06-13 16:47:00

标签: java macos jvm java-native-interface

我有一个需要加载一些本机动态库的Java项目。

我运行64位JVM,我需要加载64位动态库但是我得到以下异常:

java.lang.UnsatisfiedLinkError: /Users/mariosangiorgio/Downloads/darwin_x86_64/libminisat.dylib:  Library not loaded: @rpath/libjvm.dylib   Referenced from: /Users/mariosangiorgio/Downloads/darwin_x86_64/libminisat.dylib   Reason: no suitable image found.  Did find:  /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/../Libraries/libjvm.dylib: mach-o, but wrong architecture

这些是JVM的版本:

mariosangiorgio:MacOS/ $ java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06-451-11M4406)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01-451, mixed mode)

我需要的图书馆

$ lipo -info ibminisat.dylib
Non-fat file: libminisat.dylib is architecture: x86_64

和我的JVM库,导致问题:

$ lipo -info libjvm.dylib
Non-fat file: libjvm.dylib is architecture: i386

我不知道它是否是我的问题的原因,但我在Eclipse中运行所有内容。 Minisat由Eclipse插件使用。

您是否知道我在哪里可以获得libjvm.dylib的64位版本,或者是否有其他方法可以解决此问题?

1 个答案:

答案 0 :(得分:1)

我设法通过安装latest version of the Oracle JDK available来完成所有工作。