我正在构建一个桌面 Java 应用程序。它使用第三方框架进行一些低级工作(它使用 C 语言,我使用过 JNA)。
在我的 Windows 机器上,当我这样做时,Native.loadLibrary("EDSDK.dll", EdSdkLibrary.class, options);
它运行良好。在Mac上,当我尝试这样做Native.loadLibrary("EDSDK.framework", EdSdkLibrary.class, options);
时会 UnsatisfiedLinkError
说:mach-o, but wrong architecture
我的 java 7 版本是 64 位,框架是基于 32 位的。在包含 Java6 的不同 Mac 上,当我以 32 位模式运行 Java 时,应用程序运行良好。这确认抛出的异常是因为 32 位不兼容,我只需要使用 32 位(这很明显)。
这是令人恼火的部分——在 Java 7 中,-d32
选项不起作用,Oracle 不再提供 32 位的 Java 7。如何以 32 位运行我的 Java 7,以便我可以使用第三方框架?打开JDK?或者使用 Java 6 并在 32 位模式下使用它。但 Oracle 不再为 Mac 提供 Java 6。
还有其他选择吗??