我用下面的代碼在JNA加載DLL(不相關的代碼被省略了):JNA UnsatisfiedLinkError,但jna.library.path設置
public class JNAMain {
public interface PointShapeBuffer extends Library { ... }
public static void main(String[] args){
System.setProperty("jna.library.path", "c:\\jnadll");
System.setProperty("java.library.path", "c:\\jnadll");
PointShapeBuffer jna = (PointShapeBuffer) Native.loadLibrary("FileGDBAPI", PointShapeBuffer.class);
}
}
而且我得到以下錯誤:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'FileGDBAPI': The specified module could not be found.
我也試過設置虛擬機參數。任何建議都會很棒。
編輯:作爲參考,我使用的是公開發布的圖書館here(需要註冊)。
WIndows?萊納斯? PATH設置爲在Windows上包含共享庫? Linux上的LD_LIBRARY_PATH? – bmargulies
這是Windows 7. PATH環境變量已更改爲包含「C:\ jnadll」,但我仍然收到錯誤。 – Dave86
這裏同樣的問題。我可以加載user32.dll就好了,但它試圖加載任何非Windows 32位DLL,無論我把它們放在哪裏/如何指向它們的路徑,它都會嘔吐。 –