2011-10-18 43 views
0

我使用Eclipse和提示以下錯誤:當我嘗試從ExtractImage.dll文件 -UnsatisfiedLinkError在訪問一個本地方法

java.lang.UnsatisfiedLinkError: getVertices 
    at com.coimp.application.ExtractImage.getVertices(Native Method) 

我已經加入該DLL到下面的路徑訪問一個本地方法 -

C:\Program Files\Java\jre1.5.0_10\bin; 
. //current workspace 
C:\WINDOWS\system32; 
C:\WINDOWS; 

和我已經使用這種方法來加載庫 -

System.loadLibrary("ExtractImage"); 

另外嘗試與 -

System.load(「c:\ ExtractImage.dll」);

添加.dll文件到NativeLibrary路徑

相同的代碼工作在我的Web應用程序。

極客,任何猜測解決這個問題? 感謝您的支持。在「參數」選項卡

+0

您的DLL依賴於其他DLL嗎?使用dumpbin/imports來查看。 – bmargulies

+2

感謝@bmargulies回覆。我找到了解決方案。實際上,被調用的java類是在其他包中,而Cpp類是指其他包中的類。 – Mohsin

回答

0

在「運行配置...」選項中的「VM參數」「-Djava.librar.path = YOUR_DIR_TO_DLL」

指定如果庫具有不存在其他DLL的依賴在PATH,你還應該包括那些目錄(分立)

更新 如果失敗也可以modifiy PATH環境變量(在選項卡「環境」)。我建議你編輯變量(添加你的目錄),選擇「將環境附加到本地環境」選項(底部的單選按鈕)。

+0

thanx回覆。我嘗試了你的訣竅並打印了路徑,以檢查它是否採用了正確的路徑--System.out.println(System.getProperty(「java.library.path」));並且它已正確地採用路徑。但在調用本地方法時仍然會出現相同的錯誤。 – Mohsin

+0

OP的異常並不是你無法加載庫的那個,它會是「java.library.path中沒有ExtractImage」。 – OrangeDog

相關問題