今年早些時候,我編寫了Java GUI,以便在Matlab環境下工作,用於圖像採集目的。我能夠在matlab中調用Java_Gui.jar,並使用.jar文件中的一些類。 GUI在WinXP 32bit,Matlab2006b和Matlab 2008a上進行了測試。調用Java類的Matlab代碼:Matlab2011a和64位Win7中的Java GUI
clc,clear all,close all
javaaddpath('C:\Users\...\JavaGUI.jar');
JavaGUI.main([]);
pause(1)
JavaGUI.main2();
然而,在64位試過當同一個程序與Win7和Matlab2011a熟悉的問題出現了:
??? Java exception occurred:
java.lang.UnsatisfiedLinkError: no sserial in java.library.path
任何想法,爲什麼會出現這種情況?也許我應該在64位版本上編譯我的jar文件? 代碼仍然在32位Win上工作,只是檢查它。
回答:適用於64位Windows 7上的32位版本的Matlab!
你說得對。在Matlab中發生以下錯誤:'D:\ Matlab2011_full \ sys \ java \ jre \ win64 \ jre \ bin \ sserial.dll:無法在 AMD 64位平臺上加載IA 32位.dll。然而,對我來說奇怪的是,Matlab之外的JavaGUI可以正常使用相同的dll。 – Makaroni 2012-07-13 17:05:48
@Makaroni:它取決於進程的位數,而不是Windows的位數。所以你可能有一個32位應用程序工作正常,而64位Matlab失敗。 (即使在64位Windows上,我的32位MatLab學生副本也會加載它)。 – 2012-07-13 17:10:12