无法使用Matlab运行时

时间:2016-05-02 12:57:02

标签: java matlab dll runtime

我创建了一个Matlab的函数,我想从Java App中调用它。由于我没有在这台机器上安装matlab,我使用的是Matlab Runtine(版本8.5,32位)。

当我执行代码时,我收到此错误:

线程“main”中的异常java.lang.UnsatisfiedLinkError:无法在java.library.path上找到所需的库mclmcrrt8_5.dll。 该库通常与MATLAB或MCR一起安装。缺少可能表示该安装或当前路径配置存在问题。 该组件尝试使用的MCR版本是:8.5。

at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration$ProxyLibraryDir.get(MCRConfiguration.java:259)
at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration$ProxyLibraryDir.<clinit>(MCRConfiguration.java:265)
at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration.getProxyLibraryDir(MCRConfiguration.java:270)
at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration$MCRRoot.get(MCRConfiguration.java:71)
at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration$MCRRoot.<clinit>(MCRConfiguration.java:81)
at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration.getMCRRoot(MCRConfiguration.java:86)
at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration$ModuleDir.<clinit>(MCRConfiguration.java:60)
at com.mathworks.toolbox.javabuilder.internal.MCRConfiguration.getModuleDir(MCRConfiguration.java:65)
at com.mathworks.toolbox.javabuilder.internal.MWMCR.<clinit>(MWMCR.java:1503)
at BCI.BCIMCRFactory.newInstance(BCIMCRFactory.java:60)
at BCI.BCIMCRFactory.newInstance(BCIMCRFactory.java:71)
at BCI.Class1.<init>(Class1.java:104)
at bci.pruebaEEG.main(pruebaEEG.java:24)

我已经将我的PATH环境的变量包含在dll的路径中了:

C:\ Program Files(x86)\ Matlab \ Matklab Runtime \ v85 \ runtime \ win32

用于创建上一个函数的Matlab版本是R2015a(32位)并编译Java包,jdk 1.7(它们应该是兼容的)。

任何人都可以帮助我吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

好的,我能够找到解决我的dll问题的方法。因此,如果其他人也在不断地获取“无法在java.library.path上找到所需的库mclmcrrt8_5.dll”。错误并且已经遵循此steps,请检查您的jre版本是否与matlab编译器(MCR)的32/64位版本匹配

我从Eclipse运行我的Java应用程序并且愚弄我,我没有意识到我使用的是(x64)jre7而不是(x86)。我只需要下载正确的一个并将其添加到JRE系统库中。现在一切都运行得很好。