使用 Matlab 运行时无法找到 mclmcrrt*.dll

Posted

技术标签:

【中文标题】使用 Matlab 运行时无法找到 mclmcrrt*.dll【英文标题】:Failed to find mclmcrrt*.dll with Matlab Runtime 【发布时间】:2016-05-02 12:57:02 【问题描述】:

我创建了一个要从 Java 应用程序调用的 Matlab 函数。由于我没有在这台机器上安装 matlab,所以我使用 Matlab Runtine(8.5 版,32 位)。

当我执行代码时,我得到这个错误:

线程“主”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】:

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

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

【讨论】:

以上是关于使用 Matlab 运行时无法找到 mclmcrrt*.dll的主要内容,如果未能解决你的问题,请参考以下文章

从 MATLAB Compiler 应用程序调用 python 时无法调用 python 库

在matlab中调用时无法在C++中使用opencv读取图像

Linux 上的 MATLAB MEX 文件无法在 libpython.2.7.so 中找到符号

无法使用 system() 在 matlab 中运行可执行文件,但它可以在命令行中运行

使用 MatLab dll 时出现 C++ 错误:找到一个或多个多重定义符号

simulink matlab独立可执行文件无法获得输出