【问题标题】:java.lang.UnsatisfiedLinkError, mach-o but wrong architecture on Mac10.6.2java.lang.UnsatisfiedLinkError, mach-o 但 Mac10.6.2 上的架构错误
【发布时间】:2011-01-17 23:03:23
【问题描述】:

我试图在我的本地机器上运行一个项目。

我尝试加载这个 jnilib 文件,该文件是从我的 Mac 10.6.2 上该项目的运行实例中获得的,

System.load(lib.getAbsolutePath());

然后我抛出了这个异常:

java.lang.UnsatisfiedLinkError, mach-o but wrong architecture

我已经用文件命令检查了 jnilib:

libScreenMatchProxy.jnilib: Mach-O dynamically linked shared library i386

我猜这是因为 jnilib 文件是 32 位编译的,而 Mac10.6 附带的 Java 是 64 位。所以我去Java Preference并设置Java首先使用32位。但它没有用。

如上所述,这个 jnilib 文件是从我的 Mac 上正在运行的项目实例中复制的,所以它应该可以工作。我不明白为什么它在已安装的应用程序中工作,但在我的 Eclipse 中却没有。

【问题讨论】:

    标签: java macos java-native-interface cpu-architecture


    【解决方案1】:

    将“-d32”添加到运行配置中的 VM 参数将强制 Eclipse 以 32 位模式调用 Java。这样就解决了这个问题。

    【讨论】:

    • 太棒了!!你节省了我的 6 小时!
    猜你喜欢
    • 2020-05-03
    • 2012-09-16
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-10
    相关资源
    最近更新 更多