S-function does not exist error!

178 views (last 30 days)
Mahmud Khan
Mahmud Khan on 19 Sep 2018
Commented: Joel Davis on 18 Sep 2023
I am trying to test this Matlab model which uses a random signal generator and both a Matlab based S-function block (a dot m file) and a C code based S-function block ( dot c file).When I run this model, I get the following error:
I tried to find solutions for a while and realised that the MEX file in that folder is probably what the s-function block uses to utilise the C-code. I also found out that the MEX file in that folder may not be compatible with my version of Matlab. As a result, I tried to use the "mex" command:
mex secondOrder_c.c)
That gave me the following error:
Error using mex
No supported compiler or SDK was found. You can install the freely available MinGW-w64 C/C++ compiler;
see Install MinGW-w64 Compiler. For more options, visit
http://www.mathworks.com/support/compilers/R2017a/.
I'd appreciate some help with this process. Is this happening to me because my computer has no C/C++ compilers installed? I have Visual Studio 2017 installed on the same computer. Doesn't that count for anything? Does the fact that Matlab didn't detect that software imply that it's useless?
I'd really like some help with this so that I can resume learning from the book where I came across this s-function thing.

Accepted Answer

Mahmud Khan
Mahmud Khan on 19 Sep 2018
This is me answering my own question:
What went wrong is that my installation of Matlab 2017a didn't come with the correct files needed for this job. As a result, I downloaded the patch from here:
There were two useful files inside the tiny zip file within a folder called bin. I just had to find the same folder under my Matlab installation folder and copy-paste these two files in there. Just follow the instructions on that page to fix this problem.
I had no previous copies of these two files in my Matlab directory so I didn't have to back anything up. I only had to add these two files to the directory under the Matlab folder bin/Win64/mexopts
This patch helped me fix the problem I was facing in generating MEX files and now my model runs just fine. :)
Hope this helps someone else too.
  2 Comments
MAYOWA OLADELE
MAYOWA OLADELE on 10 Jan 2023
Edited: MAYOWA OLADELE on 10 Jan 2023
Hello, I'm currently having this issue. I've tried your answer but it keeps giving me the same error. I don't know what else to do. Please can you help me?!
Joel Davis
Joel Davis on 18 Sep 2023
it may be because the attachments are configured with Matlab 2017, if your using the latest release. I'm using 2022a release and not sure what to do now

Sign in to comment.

More Answers (1)

Fangjun Jiang
Fangjun Jiang on 19 Sep 2018
run "mex -setup" to select VC2017 as the compiler and then run mex.
  6 Comments
MAYOWA OLADELE
MAYOWA OLADELE on 10 Jan 2023
I also used that answer but I'm still getting the same error

Sign in to comment.

Products


Release

R2017a

Community Treasure Hunt

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

Start Hunting!