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