How to help Stateflow locate the C-compiler?

4 views (last 30 days)
First
First on 6 Jul 2013
Commented: Ahmed AlTaie on 28 Jan 2015
When I try to run any model in which Stateflow components are used, I get the following error:
"Unable to locate a C-compiler required by Stateflow and MATLAB Function blocks. Use 'mex -setup' to select a supported C-compiler."
Even after running 'mex -setup' as suggested in the error message and choosing the compiler, the error persists!
Any idea how to help Stateflow locate the C-compiler?

Answers (2)

Guru
Guru on 6 Jul 2013
If you are having problems after running mex -setup, then the path to the C compiler is incorrect, thus it cannot find the C compiler in question. Check your environment variables for the C compiler and make sure that the C compiler is in the folder where Mex -setup is stating.
  1 Comment
First
First on 7 Jul 2013
I didn't get what u mean by "Check your environment variables for the C compiler", how to do that?
I checked the folder stated by mex-setup, the C compiler is there.
If that's of any help, when I run mex -setup I am getting the following:
>> mex -setup
Welcome to mex -setup. This utility will help you set up a default compiler. For a list of supported compilers, see http://www.mathworks.com/support/compilers/R2013a/win64.html
Please choose your compiler for building MEX-files:
Would you like mex to locate installed compilers [y]/n?
Select a compiler:
[1] Microsoft Visual C++ 2012 in C:\Program Files (x86)\Microsoft Visual Studio 11.0
[0] None
Compiler: 1
Please verify your choices:
Compiler: Microsoft Visual C++ 2012
Location: C:\Program Files (x86)\Microsoft Visual Studio 11.0
Are these correct [y]/n? y
*************************************************************************
Warning: MEX-files generated using Microsoft Visual C++ 2012 require that Microsoft Visual Studio 2012 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\ALI\AppData\Roaming\MathWorks\MATLAB\R2013a\mexopts.bat From template: C:\PROGRA~1\MATLAB\R2013a\bin\win64\mexopts\msvc110opts.bat
Done . . .
************************************************************************
Warning: The MATLAB C and Fortran API has changed to support MATLAB variables with more than 2^32-1 elements. In the near future you will be required to update your code to utilize the new API. You can find more information about this at: http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html Building with the -largeArrayDims option enables the new API. ************************************************************************

Sign in to comment.


Kaustubha Govind
Kaustubha Govind on 17 Jul 2013
Since you are using Microsoft Visual C++ 2012 in R2013a, you might be affected by Bug #931218. Please see if installing the patch fixes the issue.
  1 Comment
Ahmed AlTaie
Ahmed AlTaie on 28 Jan 2015
I followed the link but still not working can you help me to do it step by step..... thanks

Sign in to comment.

Categories

Find more on Complex Logic in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!