В моей pre-R2020b модели используются S-функции. При переносе модели в текущую версию в журнале сборки появляется сообщение, связанное с S-функцией:
undefined reference to 'C function in S-Function'
В R2020b компилятор для построений модели был изменен с компилятора на языке C, совместимого с Windows ®, на компилятор QNX ® Neutrino ® C++. Чтобы учесть это изменение, обновите код S-Function для совместимости C++.
Совет
Функции Fortran S не поддерживаются в R2020b и более поздних версиях Simulink ® Real-Time™.
Чтобы обновить код S-функции для совместимости C++, измените объявление S-функции в файле заголовка.
Например, обновите объявление C S-Function:
void getAllDataMyFunction(short); void myfunction_initialize(short, unsigned char*, short*); void myfunction_terminate(short, int);
Обновлен код для объявления C++ S-функции:
#ifdef __cplusplus extern "C" { #endif void getAllDataMyFunction(short); void myfunction_initialize(short, unsigned char*, short*); void myfunction_terminate(short, int); #ifdef __cplusplus } #endif
Перед построением обновленного кода не забудьте удалить все артефакты из предыдущих построений модели.