我試圖加載一個dll,使用我使用Makefile在Linux機器上構建的System.loadLibrary("myDllFile")
。我得到一個在Java中加載DLL對於Windows XP
當我運行包含java.lang.UnsatisfiedLinkError中C:\測試\ myDllFile.dll:一個IA 32位平臺上無法加載此.dll(機器代碼= 0x101)
loadLibrary
語句的主要Java類時,發生異常
。我試圖在Windows XP上運行java類。我需要一個單獨的DLL Windows XP(32位)和Windows 7(64位)?
是,Win32的.dll文件的與Windows/64位的.dll的不兼容。 Linux共享庫同樣具有不兼容的elf-32和elf-64格式。這四種相互排斥的二進制格式通常都與Java一起使用。除非你使用JNI。 – paulsm4 2011-12-22 23:40:27
所以我將不得不在32位機器上創建dll或者是否有makefile選項來執行此操作? – c12 2011-12-22 23:41:55
這取決於誰寫了你的Makefile,以及你如何編譯它。有時候Linux可以用'setarch i686 make'來騙過Makefile;但這是非常依賴項目的。 – BRFennPocock 2011-12-23 03:24:49