【发布时间】:2009-09-30 06:14:55
【问题描述】:
我有一个以 ELF 格式为 Linux 编译的 .so 库,Java 程序正在使用该库。我正在尝试将此应用程序移植到 Mac OS X,并发现 OS X 对这些文件使用不同的扩展名,.jnilib。我已经想出了如何设置PATH 以便它正确地找到文件。但是,OS X Java 无法加载 .so 文件(因为它需要其他扩展名)。
如果我将文件扩展名从.so 更改为.jnilib,JVM 可以找到文件但无法读取它们(因为它们已被错误编译)。
在 Linux 系统或 Mac OS X 中,没有源代码,有什么方法可以将这些 .so 文件转换为 .jnilib?我怀疑这是不可能的,但 Stack Overflow 还没有让我失望——而且我不会把“这不可能”算作失败。
【问题讨论】:
标签: java linux macos java-native-interface elf