我已经有了一个针对Linux编译的用于Linux下ELF格式的库,该库正在被Java程序使用。我试图将此应用程序移植到Mac OS X,并发现OS X为这些文件使用了不同的扩展名.jnilib
。我已经想出了如何设置PATH
,以便它正确地找到文件。但是,OS X Java无法加载.so
文件(因为它期望其他扩展名)。将.so文件转换为.jnilib文件
如果我将文件扩展名从.so
更改为.jnilib
,则JVM可以找到这些文件但无法读取它们(因为它们编译不正确)。
有什么办法,无论是在Linux系统或Mac OS X中,没有源代码,这些.so
文件转换为.jnilib
?我怀疑这是不可能的,但Stack Overflow并没有让我失望 - 而且我不会把“这不可能”当作失败。
这就是我所害怕的。为了回应你的第一个问题,是的,这就是我想要做的,但不幸的是,我无法获得Mac版本的本地库 - 该公司使它没有可用的Mac版本。 – 2009-09-29 22:21:29