フィルターのクリア

Simulink Compiler - Max block not finding fmax?

18 ビュー (過去 30 日間)
B. J.
B. J. 2011 年 6 月 21 日
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 件のコメント
B. J.
B. J. 2011 年 6 月 21 日
Hi Kaustubha,
In my code generation interface I have my target function defined as C++ (ISO). Changing it to C89/C90 did work! Thanks!

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

採用された回答

Kaustubha Govind
Kaustubha Govind 2011 年 6 月 21 日
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.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSimulink Compiler についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by