Диагностируйте обновление сборки S-функции для R2020b

Моя 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

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

Похожие темы

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