Simulink Compiler - Max block not finding fmax?

Hi Everyone,
I am running 2011a discrete fixed-sized solver. I am trying to compile a target file of ert.tlc for C++.
I get the error TestMax.cpp TestMax.cpp(38) : error C3861: 'fmax': identifier not found NMAKE : fatal error U1077: '"D:\Program Files\VC\bin\cl.EXE"' : return code '0x2' Stop. The make command returned an error of 2 'An_error_occurred_during_the_call_to_make' is not recognized as an internal or external command, operable program or batch file. ### Build procedure for model: 'TestMax' aborted due to an error.}
Relating to the proper .cpp file, it is this:
33 /* Outport: '<Root>/Out1' incorporates:
34 * Constant: '<Root>/Constant5'
35 * DiscreteTransferFcn: '<Root>/Discrete Transfer Fcn'
36 * MinMax: '<Root>/MinMax1'
37 */
38 TestMax_Y.Out1 = fmax(0.0198 * TestMax_DWork.DiscreteTransferFcn_DSTATE, 2.0);
I have a max block selecting the output of a discrete tf and a constant. I can probably reconfigure it with a switch case, but I want to know why it is not working. I have been using the model adviser to no errors.
thanks in advance, B.

1 comentario

B. J.
B. J. el 21 de Jun. de 2011
Hi Kaustubha,
In my code generation interface I have my target function defined as C++ (ISO). Changing it to C89/C90 did work! Thanks!

Iniciar sesión para comentar.

 Respuesta aceptada

Kaustubha Govind
Kaustubha Govind el 21 de Jun. de 2011

1 voto

Do you have C99 (ISO) selected as the Target function library in the Code Generation > Interface pane of your Configuration Parameters window? If yes, it is likely that your version of Visual Studio does not support the C99 standard. Switch to the default "C89/C90 (ANSI)" target function library and see if you are able to build the model.

Más respuestas (0)

Categorías

Más información sobre Simulink Compiler en Centro de ayuda y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by