我已經有了一個針對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