exponenta event banner

Устранение неполадок при обновлении сборки S-Function для R2020b

В моей 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

Перед построением обновленного кода не забудьте удалить все артефакты из предыдущих построений модели.

Связанные темы

Внешние веб-сайты