MATLAB: Reading constants and variables from external header files in Matlab Coder

coderconstantexternalheaderMATLABmatlab coder

If I have the C header file external_vars.h containing:
const int ext_var = 5;
How do I use it in a Matlab Coder generated C function? The following code doesn't work, as ext_var is not defined in the Matlab code.
function external_test() %#codegen
coder.cinclude('external_vars.h')
a = ext_var;
end

Best Answer

If you have an Embedded Coder license, you can use coder.storageclass to bind an extern C variable to a variable in MATLAB function: https://www.mathworks.com/help/ecoder/ref/coder.storageclass.html?s_tid=doc_ta
Without Embedded Coder, one possible workaround is to have a C function that reads/writes to this variable, and call that C function using coder.ceval.