How to declare variables in C as int16/uint16/int32 etc, for S function

11 views (last 30 days)
I'm writing some C code, to compile and use as an S function in simulink.
In normal C programming, I can just declare variables to be a certain size, like
int16 x = 5;
uint32 y = 7;
But when I try that in matlab, and compile it with
mex file.c file_wrapper.c
I get an error message:
unknown type name ‘int32’
I've tried `Int32' and `int_32' and neither works.
Is there some library I need to include?
Mex gives me the following warning. Is it related to this?
Warning: You are using gcc version '5.4.0'. The version of gcc is not supported. The version currently supported with MEX is
'4.7.x'.

Accepted Answer

Matthew Davis
Matthew Davis on 21 Aug 2016
I found the answer.
  • Add tmwtypes.h as a library
  • Use `int32_T` as the type.

More Answers (0)

Categories

Find more on Write C Functions Callable from MATLAB (MEX Files) in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!