How to help Stateflow locate the C-compiler?

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?

回答(2 个)

Guru
Guru 2013-7-6
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 个评论

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. ************************************************************************

请先登录,再进行评论。

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 个评论

I followed the link but still not working can you help me to do it step by step..... thanks

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Decision Logic 的更多信息

产品

标签

提问:

2013-7-6

Community Treasure Hunt

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

Start Hunting!

Translated by