2012-04-13 36 views
0

我已經創建了一個DLL並在我的Java程序中使用。
它在Windows XP和Windows 7上正常工作。但是當我在Windows Vista上使用相同的程序時,我得到不滿意的鏈接錯誤。
我開始知道System.loadlibrary()在Vista上不起作用(see this)。
請爲System.loadlibrary()提供一些替代方法。
替代System.loadlibrary()在遠景

回答

0

我寧願檢查哪些庫從DLL「叫做」與像的Dependency Walker工具(http://www.dependencywalker.com/)

這個程序可以說你如果有一個缺少路徑上的DLL。在啓動Java程序之前,您還可以檢查shell變量PATH。

希望它有幫助。

1

System.loadlibrary()在Vista上正常工作。您的問題是無法找到DLL或它的某個依賴關係。最有可能的是你需要安裝適當的MSVC運行時。您有時會在某些機器上不這樣做,因爲其他應用程序已經安裝了運行時。

如果你不能從你的本機代碼編譯器的文檔中解決這個問題,我會建議在配置文件模式下使用Dependency Viewer來調試System.loadlibrary失敗。

0

System.Loadlibrary在Vista中正常工作,您的鏈接指向特定庫的問題,而不是LoadLibrary本身。 作爲LoadLibrary的替代方案,你可以使用System.Load並給出一個絕對路徑(至少像這樣你會知道你的庫是否可以加載)