在运行使用 MATLAB Compiler 编译的应用程序时,为什么会收到有关缺少 mclmcrrt7x.dll 的错误?

在部署计算机上运行使用 MATLAB Compiler 编译的应用程序时,收到有关缺少 mclmcrrt7x.dll 文件的错误消息(其中 x 是应在目标系统上安装的 MCR 的次要版本)。

 Accepted Answer

mclmcrrt7x.dll 是在没有安装 MATLAB 和 MATLAB Compiler 的部署计算机上运行 MATLAB Compiler 生成的应用程序时所需的运行时库。在 MATLAB Compiler Runtime (MCR) 安装过程中将安装此库。
 
此错误通常源于以下两种情形之一:
 
1.未安装正确版本的 MATLAB Compiler Runtime (MCR)。
 
使用 MATLAB Compiler 生成的应用程序依赖于生成该应用程序的 MATLAB Compiler 版本所对应的运行时库。
 
您可以在创建 MCR 安装程序的 MATLAB 安装的以下子目录中找到该程序。
$MATLABROOT\toolbox\compiler\deploy\win32\mcrInstaller.exe
$MATLABROOT\toolbox\compiler\deploy\win64\mcrInstaller.exe
(其中 $MATLABROOT 是您计算机上的 MATLAB 根目录,通过在 MATLAB 命令提示符下键入以下命令:
matlabroot
可以返回该根目录。)
 
有关安装 MCR 的说明位于以下文档中:
Deploying to End Users :: Deployment Process (MATLAB Compiler)
在部署计算机上运行 MCRInstaller.exe 将安装 MCR,包括 mclmcrrt7x.dll:
$MCRROOT\v$VER\runtime\win32\mclmcrrt$VER.dll
($MCRROOT 是在 MATLAB Component Runtime 安装过程中选择的 MATLAB Compiler Runtime 根目录。通常默认为类似于 C:\Program Files\MATLAB\MATLAB Compiler Runtime 的根目录。$VER 是不带句点的 MCR 版本号。)
 
如果您没有安装与编译应用程序使用的 MATLAB Compiler 版本对应的 MCR 版本,则会导致“缺少 mclmcrrt7x.dll”错误消息。例如,您安装了 MCR for MATLAB Compiler 4.9 (R2008b),则将安装 7.9 版的 mclmccrt DLL,如:
C:\Program Files\MATLAB\MATLAB Compiler Runtime\v79\runtime\win32\mclmcrrt79.dll
对于 R2008a 之前的版本,运行时库所在的路径略有不同:
C:\Program Files\MATLAB\MATLAB Component Runtime\
现在,如果在没有安装该版本 MCR 的情况下在此计算机上执行使用 MATLAB Compiler 4.6 (R2007a) 生成的应用程序,则会生成“缺少 mclmcrrt76.dll”错误。
 
2.第二种情况是未正确设置系统的 PATH 环境变量。
 
在 MATLAB Compiler Runtime 安装过程中,应当已将以下目录添加到您的系统路径中:
$MCRROOT\v$VER\runtime\win32
要解决此问题,请在部署计算机上手动更新 PATH 环境变量以包括以下目录:
$MCRROOT\v$VER\runtime\win32
有关修改系统 PATH 环境变量的说明,请参阅下面引用的解决方案。
 
另请注意,由于各个版本的 MCR 的 DLL 具有不同的名称,因此多个版本的 MCR 可以安装在同一计算机上。

More Answers (0)

Categories

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!