S-Function 'ExampleFunction' does not exist

4 Ansichten (letzte 30 Tage)
Vincent K
Vincent K am 11 Apr. 2019
Beantwortet: Anay am 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?

Antworten (1)

Anay
Anay am 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:

Kategorien

Mehr zu Block and Blockset Authoring finden Sie in Help Center und File Exchange

Produkte


Version

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by