Matlab2011a和64位Win7中的Java GUI

时间:2012-07-13 16:42:03

标签: java matlab user-interface data-acquisition

今年早些时候,我将Java GUI编写为在Matlab环境中工作以进行图像采集。我能够在matlab中调用Java_Gui.jar,以及使用.jar文件中的一些类。 GUI在WinXP 32bit,Matlab2006b和Matlab 2008a上进行了测试。用于调用Java类的Matlab代码:

clc,clear all,close all

javaaddpath('C:\Users\...\JavaGUI.jar');

JavaGUI.main([]);
pause(1)
JavaGUI.main2();

然而,当在64位和Matlab2011a上使用Win7尝试相同的程序时,出现了熟悉的问题:

??? Java exception occurred:
java.lang.UnsatisfiedLinkError: no sserial in java.library.path

知道为什么会这样吗?也许我应该在64位版本上编译我的jar文件? 代码仍在使用32位Win,只需检查它。

解答:在64位Windows 7上使用32位版本的Matlab!

2 个答案:

答案 0 :(得分:2)

可能你的JAR使用JNI。

JNI将无法加载到与包含本机部分的DLL不同位的进程中。在这种情况下,你需要一个64位版本的库(Java代码没有区别,原生DLL是)。

答案 1 :(得分:2)

问题是你在java中使用一个库来调用你需要64位版本的本机库,以便在64位JRE中运行它。您需要切换到32位版本的Matlab,或者跟踪对sserial进行本机调用的库,并更新为64位版本的64位版本。