Moving Matlab application from 32 bit to 64 bit

I have been using Matlab 7.1 with Microsoft Visual Studio on a 32 bit Windows 2003 server. Now, I'm trying to move all my applications to a 64 bit 2008 server. I installed Matlab 7.7 along with Visual C++ 2005 since this link suggests that these versions are compatible - https://www.mathworks.com/content/dam/mathworks/mathworks-dot-com/support/sysreq/files/SystemRequirements-Release2008b_SupportedCompilers.pdf.
When I type "mbuild -setup" in 64 bit Matlab 7.7, it does not detect any compilers. When I type the same command in my 32 bit Matlab 7.1, it detects two compilers - Microsoft Visual Studio and the Lcc compiler in Matlab folder.
Do I need to do something else to make this system work in 64 bit?

Answers (1)

Most possible reason for this behavior is that the PATH is not set for the new compiler or it is added behind a 32-bit compiler. After installing a compatible 64-bit compiler in the target machine, it has to be set in the PATH system environmental variable in order to be picked up by MATLAB. MATLAB picks up the first compiler in the PATH, so make sure it is added on top of the list of paths in PATH.

7 Comments

@Kriti: In the PDF you have linked you can find:
6. Microsoft Visual C++ 2005 Express Edition requires the Microsoft Platform SDK for Windows Server 2003, and requires the MSSdk variable to be defined in the Windows environment when used with MATLAB and related products. The value of this environment variable is the path to the installation directory of the SDK. This environment variable is not usually defined by the Microsoft Platform SDK installation program.
Thanks but it didn't work. I noticed a line - "1. You must install a C compiler to use LOADLIBRARY on a 64-bit platform." in the link above - https://www.mathworks.com/content/dam/mathworks/mathworks-dot-com/support/sysreq/files/SystemRequirements-Release2008b_SupportedCompilers.pdf. In case that is the issue, what compiler do you suggest I should install?
Visual C++ 2005 Express Edition is also a C compiler.
I am not using the Express Edition. I'm using Microsoft Visual C++ 2005 Redistributable. Is that a C compiler too? Also, I'm using Windows Server 2008, not 2003.
The Redistributable is not a compiler, only the run-time for things that were compiled with the compiler.
You are trying to install for 64 bit MATLAB. VC++ 2005 Express was supported for 32 bit MATLAB, but not for 64 bit MATLAB: for 64 bit MATLAB to use the MATLAB Compiler or MATLAB Builder NET products, it was VC++ 2005 Professional, or VC++ 2008 Professional, or SDK 7.1 (VC++ 2008 Express could not be used for MATLAB Compiler or MATLAB Builder NE.)
I suggest you install SDK 7.1. If you are using MATLAB Builder NE make sure that .NET Framework 2.0 is also installed.
"Cannot Locate Your Compiler (Windows). If mbuild has difficulty locating your installed compilers, it is useful to know how it finds compilers. mbuild automatically detects your installed compilers by first searching for locations specified in the following environment variables:
MSVCDIR for Microsoft Visual C++, Version 6.0, 7.1, or 8.0
Next, mbuild searches the Windows registry for compiler entries."
I installed SDK 7.1 and put its location in the PATH environment variable. Matlab still fails to detect it as a compiler. Do I need to add another Matlab specific env variable? Seems like MSVCDIR is only needed for certain versions of Visual C++. Do I need to register that installation somewhere?

Sign in to comment.

Categories

Asked:

on 24 Feb 2017

Commented:

on 29 Mar 2017

Community Treasure Hunt

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

Start Hunting!