Conflict bewteen rtwtypes and tmwtypes

I'm testing the embedded coder app in Simulink. I have generated C code for a simple adder which takes two numbers and add them. I succesfully generated the C code for this simulink model, and now I'm trying to make it work in the S-function builder. When I build the code, the following errors appears:
line 1: rtwtypes.h:77:16: error: conflicting types for 'byte_T' typedef char_T byte_T;
line 2: tmwtypes.h:580:16: note: previous declaration of 'byte_T' was here typedef BYTE_T byte_T;
I understand that "byte_T" is being defined in two different header files. However, I don't know how to avoid this. The answer given in this question suggest to include the following lines of code:
#if defined(MATLAB_MEX_FILE)
#include "tmwtypes.h"
#include "simstruc_types.h"
#else
#include "rtwtypes.h"
#endif
However, this lines of code are already included in the wrapper generated by the S-function builder. How could I avoid this clash between rtwtypes.h and tmwtypes.h?

3 件のコメント

Felipe Herrera
Felipe Herrera 2024 年 12 月 4 日
I found a workaround this problem. Basically, I commented the lines of the code in rtwtypes.h which were producing the problem. Personally, I don't like this solution too much as I would prefer something more automatized. However, I leave this here in case someone else face the same problem.
Abhaya
Abhaya 2024 年 12 月 23 日
Hi Felipe, Could you share the C file and wrapper generated by S- function builder?
Abhaya
Abhaya 2024 年 12 月 24 日
編集済み: Abhaya 2024 年 12 月 24 日
Hi Felipe,
I tried to reproduce the model, and here are the steps I followed:
  1. I added two 'Constant' blocks as inputs and a 'Display' block as output.
  2. I included an 'S-function Builder' block in the model.
  3. I implemented the addition functionality in the 'S-function Builder' in the 'Editor' tab. Here’s the code I used:
void delS_Outputs_wrapper(const real_T *u0,
const real_T *u1,
real_T *y0)
{
/* Output_BEGIN */
/* This sample sets the output equal to the input */
y0[0]=u0[0]+u1[0];
/* Output_END */
}
The model works fine on my end.
I suspect that the error you're encountering may be related to the inclusion of the rtwtypes.h file. In the 'Editor' tab of the S-function Builder, if you have included 'rtwtypes.h' file, this could be causing the issue.

サインインしてコメントする。

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSimulink Coder についてさらに検索

製品

リリース

R2024b

質問済み:

2024 年 12 月 3 日

編集済み:

2024 年 12 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by