S-Function 'ExampleFunction' does not exist

4 views (last 30 days)
Vincent K
Vincent K on 11 Apr 2019
Answered: Anay on 1 Jul 2025
Hello,
I am facing an error that completely puzzles me. Let's have the following scenario:
I copy the sfun_counter_cpp.cpp from the Matlab examples folder into another directory. In the same directory I create a Simulink Model with an S-Function calling the cpp file. Everyhing works. Now I do the same as before, but now I rename the file to 'sfun_test_cpp.cpp' and every encounter of the expression 'sfun_counter_cpp' in the file to 'sfun_test_cpp'. I also edit the S-Function accordingly and now... 'sfun_test_cpp' doesn't exist!
I am trying to debug this error for more than 2 hours now. What the heck is wrong here?

Answers (1)

Anay
Anay on 1 Jul 2025
Hi Vincent,
In order to use C++ S-functions you must compile them into MEX files. The error “<file name> doesn't exist!” means that the MEX file with the same name is missing, not the CPP file.
You must use the following command to compile your CPP file to MEX file:
mex sfun_test_cpp.cpp
This should solve the error of missing file.
You can consider following below links to learn more about basics of S-functions and MEX files:

Categories

Find more on Block and Blockset Authoring in Help Center and File Exchange

Products


Release

R2017a

Community Treasure Hunt

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

Start Hunting!