微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MATLAB Coder 无法使用英特尔 C 编译器进行编译

如何解决MATLAB Coder 无法使用英特尔 C 编译器进行编译

在使用 MATLAB Coder 时,我“注册”了一个使用 Intel C 编译器 (icc) 作为编译器的工具链,并且链接器。代码生成步骤似乎运行完成,但编译失败。 icc 对象到生成文件 rt_nonfinite.c 中的两行:

  • real_T rtNaN = (real_T)NAN;
  • real_T rtInf = (real_T)INFINITY;

第一行的错误响应是error: identifier "NAN" is undefined;。响应第二行的错误完全类似。

我看到在 icc 附带的 ma​​th.h 文件中定义了 NAN 和 INFINITE。

我修复这些错误的尝试是添加

tc.addMacro('C_STANDARD_OPTS',' -D__PURE_INTEL_C99_HEADERS___')

到工具链定义。但这导致了 error: expression must have a constant value 相同的行和更多。我怀疑在 C99 中不能有这样的定义。

我该如何解决这个问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。