I installed Matlab 2011b 64-bit. Also I installed Microsoft SDK 7.1 and Microsoft Visual C++ 2010 Express.
After these actions I used commands "mex -setup" and "mbuild -setup" for selecting "Microsoft Visual C++ 2010 Express" compiler.
When I generate C code for simulink model and compile it, I receive message
"Unable to locate LCC in C:\Program Files\MATLAB\R2011b\sys\lcc Please make sure that you have LCC installed."
LCC compiler does not used in generated code.
When I copy lcc folder from Matlab 2011b 32bit all works fine.
Why Matlab try to find LCC instead of Visual C++ 2010 Express? I don't understand it.
Maybe someone has any ideas. Thanks.
Related
I am using Matlab R2013a. The problem appears when I try to use Simulink Coder to generate Visual C++ code.
I've got this error even though I have Visual Studio 2013 installed on my computer already. When I look at list of programs that are installed on my computer I see Visual C++ 2008, 2010 and 2012. When I type the command mex -setup Matlab just can see a compiler LCC. But I need a Visual C++ compiler (which , technically, I already have) seen by Matlab.
How can I do that? Isn't mex -setup the right code?
You need MATLAB R2014a since support for Visual C++ 2013 was not added until MATLAB R2014a.
As a workaround, you can use this or this FileExchange submission to add support for building MEX files using Visual C++ 2013 with earlier MATLAB version.
I am trying to compile and run a 64bit application in MATLAB using the Visual Studio 2010 Professional compiler. I know both the program and the compiler work properly because when I start matlab from the Visual Studio x64 command prompt I am able to run the program without an issue.
I have run mex -setup and selected the 2010 compiler as follows:
mex -setup Please choose your compiler for building external interface (MEX) files:
Would you like mex to locate installed compilers [y]/n? y
Select a compiler:
[1] Microsoft Visual C++ 2010 in C:\Program Files (x86)\Microsoft Visual Studio 10.0
[2] Microsoft Visual C++ 2008 Express in C:\Program Files (x86)\Microsoft Visual Studio 9.0
[0] None
Compiler: 1
Please verify your choices:
Compiler: Microsoft Visual C++ 2010 Location: C:\Program Files (x86)\Microsoft Visual Studio 10.0
Are these correct [y]/n? y
************************************************************************* Warning: MEX-files generated using Microsoft Visual C++ 2010 require that Microsoft Visual Studio 2010 run-time libraries be available on the computer they are run on. If you plan to redistribute your MEX-files to other MATLAB users, be sure that they have the run-time libraries. *************************************************************************
Trying to update options file: C:\Users\OEM\AppData\Roaming\MathWorks\MATLAB\R2010a\mexopts.bat From template: C:\PROGRA~1\MATLAB\R2010a\bin\win64\mexopts\msvc100opts.bat
Done . . .
Unfortunately this doesn't seem to allow me to run the 64bit application. I get an error regarding cl preprocessor commands, essential pointing to the fact I'm not using a 64 bit compiler. Does anyone know how I can configure this so that I will not need to run Matlab from the Visual Studio 2010 command line? I would appreciate any help on this.
Thanks so much in advance!
Don
I've been crazy on these things all day...
I installed the Matlab2010a on remote desktop (64bits windows server 2008)
then I need to use the "mex" command to recompile the code (which is already compiled at my laptop(64-bits), but it doesn't work when I copy the .mexw64 to the remote one)
But on the remote desktop, there is no Visual Studio/VC6.0. And you know it's tooooo hard and not workable to install something like that on the remote desktop...
So, are there any other solutions for me to compile the .cpp on matlab?
Thank you so much, because I've been drived crazy...Jesus...
Try the following to see what compiler is available
mex
Select a compiler:
[1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2012a\sys\lcc
[2] Microsoft Visual C++ 2010 in C:\Program Files (x86)\Microsoft Visual Studio 10.0
The output shows that my MATLAB may use one of these two compilers to create mex files.
If I want to set up my another compiler, I have to use the following command
mex -setup
I am trying to create a Windows stand alone application in Matlab using the Deploytool to produce a .exe file for my project. (as mentioned here: http://www.mathworks.co.uk/products/demos/compiler/deploytool/index.html).
The problem is when in the Deploytool I add my files and press the Build button it asks me to use mbuild -setup to setup my compiler. When I do so the only options I get are :
Would you like mbuild to locate installed compilers [y]/n? n
Select a compiler:
[1] Microsoft Visual C++ 2005 SP1
[2] Microsoft Visual C++ 2008 Express
[3] Microsoft Visual C++ 2008 SP1
[0] None
and when I choose any I get these:
*The default location for Microsoft Visual C++ 2008 Express compilers is C:\Program Files (x86)\Microsoft Visual Studio 9.0,
but that directory does not exist on this machine.
Please enter the location of your compiler:*
I also get the following error when I build:
*Could not find the compiler "cl" on the DOS path.
Use mbuild -setup to configure your environment properly.
C:\PROGRA~1\MATLAB\R2010A\BIN\MEX.PL: Error: Unable to locate compiler.
Error: An error occurred while shelling out to mbuild (error code = 2).
Unable to build executable.*
Can you please help me solve this problem.
Thanks in advance.
You need to allow mbuild to detect installed compilers. The Matlab compiler includes a default C compiler. On my Windows XP system, I get:
>> mbuild -setup
Welcome to mbuild -setup. This utility will help you set up
a default compiler. For a list of supported compilers, see
http://www.mathworks.com/support/compilers/R2011a/win32.html
Please choose your compiler for building standalone MATLAB applications:
Would you like mbuild to locate installed compilers [y]/n? y
Select a compiler:
[1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2011a\sys\lcc
[2] Microsoft Visual C++ 2010 in C:\Program Files\Microsoft Visual Studio 10.0
[3] Microsoft Visual C++ 2005 SP1 in C:\Program Files\Microsoft Visual Studio 8
[0] None
Compiler:
I have two versions of Visual Studio installed, but you can see the default compiler is in the MATLAB installation directory.
Ensure you answer 'y' when the script asks to locate installed compilers
You need to have a compiler installed on your computer. You can download Visual Studio Express from here: Visual Studio Express Download.
I installed Microsoft Visual Studio Ultimate on my computer. When asked for the location of the compiler in mbuild setup, I redirected it to C:\Program Files (x86)\Microsoft Visual Studio 10.0. This worked for me.
Go to following address {C:\Program Files\MATLAB\R2008a\toolbox\compiler\deploy\win32 }
and install this following setup - "MCRInstaller.exe" (This setup file is use for set run time compiler) after install you can use "deployment tool" your respective file like *.Project.
Enjoy...
I am using Windows 7 64 bits. I need to do the mex -largeArrayDims *.c but it tells me that there is no compiler. I am trying to do this in R2010a.
I tried mex -setup but still it says there is no compiler. How can I fix this? Can you please help me? I downloaded Mingw-w64 from the project's SourceForge page (this was before the project moved to http://mingw-w64.org/) but I don't know how to use it. Any help would be really appreciated.
mingw is not supported by Matlab. You must use a compiler supported by them. I believe Visual Studio should be supported and I see no reason why it wouldn't work with the Express Editions, which are free.
EDIT
http://www.mathworks.com/support/compilers/R2010a/win64.html#simulink
You need a patch for Matlab 2010a to use Visual Studio 2010. Under "Notes for the Windows (64-bit) Platform", Read item two, it should explain how to get VC++ 2010 recognized by Matlab. Hope this helps!