我试图在我的本地机器上运行一个项目。
我试图在我的 Mac 10.6.2 上加载从该项目的运行实例中获得的这个 jnilib 文件,
System.load(lib.getAbsolutePath());
然后我抛出了这个异常:
java.lang.UnsatisfiedLinkError, mach-o but wrong architecture
我已经用 file 命令检查了 jnilib:
libScreenMatchProxy.jnilib: Mach-O dynamically linked shared library i386
我猜这是因为 jnilib 文件是用 32 位编译的,而 Mac10.6 附带的 Java 是 64 位的。所以我去Java Preference并设置Java首先使用32位。但它没有用。
如上所述,这个 jnilib 文件是从我的 Mac 上正在运行的项目实例中复制的,所以它应该可以工作。我不明白为什么它在已安装的应用程序中工作,但在我的 Eclipse 中却没有。