MATLAB Answers

0

Why do I receive an error regarding missing mclmcrrt7x.dll when I run my stand-alone application compiled with MATLAB Compiler?

When I run my stand-alone application that was compiled with MATLAB Compiler on my deployment machine, I receive an error message regarding a missing mclmcrrt7x.dll file (where x is the minor version of the MCR expected to be installed on the target system).

3 Answers

Answer by MathWorks Support Team on 10 Sep 2012
 Accepted Answer

mclmcrrt7x.dll is a run-time library needed to run MATLAB Compiler generated applications on deployment machines that do not have MATLAB and MATLAB Compiler installed. This library is installed during the course of the MATLAB Compiler Runtime (MCR) installation.
This error typically results from one of two situations:
1. The correct version of MATLAB Compiler Runtime (MCR) is not installed.
Applications generated with MATLAB Compiler depend on the version of the run-time library specific to the version of the MATLAB Compiler that generated the application.
You can find the install program for the MCR in the following sub directory of the MATLAB installation which created the program.
$MATLABROOT\toolbox\compiler\deploy\win32\mcrInstaller.exe
or
$MATLABROOT\toolbox\compiler\deploy\win64\mcrInstaller.exe
(where $MATLABROOT is the MATLAB root directory on your machine, as returned by typing:
matlabroot
at the MATLAB command prompt.)
Instructions for installing the MCR are located in the documentation:
Deploying to End Users :: Deployment Process (MATLAB Compiler)
Running MCRInstaller.exe on the deployment machine will install the MCR, including the mclmcrrt7x.dll:
$MCRROOT\v$VER\runtime\win32\mclmcrrt$VER.dll
($MCRROOT is the MATLAB Compiler Runtime root directory that was chosen during the MATLAB Component Runtime installation process. This typically defaults to something like C:\Program Files\MATLAB\MATLAB Compiler Runtime. $VER is the MCR version number without the periods.)
The “missing mclmcrrt7x.dll” error message will result if you have not installed the version of the MCR that corresponds to the version of MATLAB Compiler the application was compiled with. For example, if you have installed the MCR for MATLAB Compiler 4.9 (R2008b), version 7.9 of the mclmccrt DLL will be installed in, for example:
C:\Program Files\MATLAB\MATLAB Compiler Runtime\v79\runtime\win32\mclmcrrt79.dll.
For releases prior to R2008a the runtime libraries will be located in a slightly different directory tree:
C:\Program Files\MATLAB\MATLAB Component Runtime\
Now, if an application generated using MATLAB Compiler 4.6 (R2007a) is executed on this computer without installing that version of the MCR, the "missing mclmcrrt76.dll" error would result.
2. A second option is that the system's PATH environment variable was not set correctly.
During the course of the MATLAB Compiler Runtime installation, the following directory should have been added to your system path:
$MCRROOT\v$VER\runtime\win32
To work around this issue, manually update the PATH environment variable on your deployment machine to include the following directory:
$MCRROOT\v$VER\runtime\win32
For instructions on modifying your system PATH environment variable, refer to the solution referenced below.
Also note that since these DLLs have different names for each version of the MCR, multiple versions of the MCR can be installed on the same machine.

  4 Comments

Show 1 older comment
Hi, I have the same problem with R2009b and mclmcrrt711.dll. I tried both the actions suggested above (installing MCR and checking PATH environment variable) but no success. I also receive this message from the compiler:
_This file contains the list of various toolbox functions that are not included in the CTF file. An error will be thrown if any of these functions are called at run-time. Some of these functions may be from toolboxes that you are not using in your application. The reason for this is that these toolboxes have overloaded some methods that are called by your code. If you know which toolboxes are being used by your code, you can use the -p flag with the -N flag to list these toolboxes explicitly. This will cause MATLAB Compiler to only look for functions in the specified toolbox directories in addition to the MATLAB directories. Refer to the MCC documentation for more information on this.
Functions are xlsread and xlswrite among others. Just wondering if this is the problem. Do you have any suggestion please?
Fabio
I suggest you to create a service request with MathWorks Technical support if the issue still persists.
Adding this to system path fixed the issue
$MCRROOT\v$VER\runtime\win32
Thanks for the solution.

Sign in to comment.


Answer by Kiran
on 19 Feb 2015
Edited by Kiran
on 19 Feb 2015

I am having the same problem, in my case I am trying to compile an application in vs2008 as Win32 application on a system with x64 OS. I installed both versions (32bit and 64bit) of MCRs and am trying to use the lib that was created using 32bit matlab compiler while the include & library directories are pointing to 32bit MCR install location on the target machine. It compiles fine, but give missing mclmcrrt78.dll.
Any suggestions?

  3 Comments

Please create a service request with MathWorks Technical support as the issue that you are facing might be specific to your system.
Boost_date_time-vc110-mt1_49.dll missing proble how can I solve this please help
Possibly http://www.boostbyreason.com/resource-file-47692-boost_date_time-vc110-mt-1_49-dll.aspx apparently part of Trend Micro Anti-Malware. If so then the situation would not have anything to do with MATLAB.

Sign in to comment.


Answer by Jehan Zee on 15 Feb 2017

The answer by MathWorks Support Team is detailed and comprehensive... Even if it is still not working
Just Restart your system........
Even if it still not working... update your window system and restart ...

  0 Comments

Sign in to comment.