Clear Filters
Clear Filters

Simulink Compiler - Max block not finding fmax?

18 views (last 30 days)
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 Comment
B. J.
B. J. on 21 Jun 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!

Sign in to comment.

Accepted Answer

Kaustubha Govind
Kaustubha Govind on 21 Jun 2011
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.

More Answers (0)

Categories

Find more on Simulink Compiler 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!