我正在构建一个桌面Java应用程序。它使用第三方框架进行一些低级别的工作(它使用C语言,我使用了JNA)。Java 7将在32位的mac上运行
在我的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。
任何其他的选择?