在外部模式下做实时Simulink时出错"Unable万博1manbetx to create mex function"

67次浏览(过去30天)
Sajad A.Anbaran"class=
Sajad A.Anbaran. 2019年10月21日
亲爱的先生/女士,
我正在尝试进行在Simscape内置的车型模型的实时模拟。
我已经完成了执行RT模拟所需的所有预处理和配置。此外,我已经成功模拟了目标计算机中的纯粹eV模型。所以所有连接都可以。现在,我想用基于引擎的模型做同样的事情,但我收到以下错误消息。
是什么导致了这个错误?谢谢你!
制作仿真目标“ICE_PID_TEST1_V2_RT_SFUN”,... Microsoft(R)程序维护实用程序版本14.00.23918.0版权所有(c)Microsoft Corporation。版权所有。###编译“ice_pid_test1_v2_rt_sfun.c”cl.exe / c / zp8 / gr / w3 / ehs / d_crt_secure_no_deprecate / d_scl_secure_no_deprecate / d_secure_scl = 0 / dmatlab_mex_file / nologo / md / i “C: \ Program Files \ extern MATLAB \ R2016b \ \包括“ /一世 “C: \ Program Files \ MATLAB \ R万博1manbetx2016b \仿真软件\包括“ /一世 “C:\ Program Files \ Matlab \ R2万博1manbetx016B \ Simulink \ Include \ SF_Runtime” /I "C:\Program Files\MATLAB\R2016b\stateflow\ C \mex\include “C: \ Program Files \ MATLAB \ R2016b \ rtw \ C \ src " /一世 “D: \ matlab仿真\ xPC目标\ \文件slprj \ _self _sfprj \ ICE_PID_test1_v2_rt \ \ sfun \ src " “ICE_PID_test1_v2_rt_sfun.c ICE_PID_test1_v2_rt_sfun.c c: \ program files \ matlab \ r2016b \走读生\包括\ tmwtypes.h(788):致命错误C1083:不能打开包含文件:“stddef.h”:没有这样的文件或目录NMAKE:致命错误U1077:”“c: \ program files \ Microsoft Visual Studio (x86) 14.0 \ VC \ Bin \ amd64 \ cl.exe””:返回代码0 x2的停止。
组件: 使 | 类别: makeerror. 开放
无法创建mex函数'ICE_PID_test1_v2_rt_sfun。模拟需要Mexw64 '。”

答案(2)

Sajad A.Anbaran"class=
Sajad A.Anbaran. 2019年10月23日
我设法解决了这个问题。
这个错误的原因是在C编译器中缺少头文件,'stddef.h'。我使用Microsoft Visual c++ 2015 pro。我添加了头和库,现在它工作得很好。
我在这里学到的两个教训:
1)完整阅读错误信息。它通常为识别和解决问题提供线索。
2)您必须确定您的模型准确性和主机目标的所有配置都很好。在错误消息故障排除期间,它将有助于消除许多可能性。
1评论
杰森威廉姆森"class=
杰森威廉姆森 2020年10月27日
Sajad,
您添加了哪个'stddef.h'头文件,您在哪里添加到哪里?我在Matlab程序文件中找到了几个不同的sttdef.h文件,不确定添加或在哪里添加它。此外,在/ i路径中,我没有下划线的路径,状态溢路径。你还要补充一下吗?我正在经历完全相同的问题,并且已经无法解决。

登录发表评论。


迭戈库拉特利"class=
迭戈库拉特利 2019年10月21日
您是否使用Simulink实万博1manbetx时作为系统目标文件在您的模型配置参数?
尝试清除SLRT编译器:
>> SLRTSETCC('VICESC','')
然后,通过使用选择编译器
> >墨西哥人设置
删除工作区中的所有构建文件和文件夹,并尝试再次构建您的模型。
3评论
Sajad A.Anbaran"class=
Sajad A.Anbaran. 2019年10月23日
当然,我会试试的。同时,我想提请您注意错误消息的这一部分
“致命错误C1083:无法打开包含文件:'stddef.h':没有这样的文件或目录nmake”
根据我的理解,这部分消息表明c++编译器没有'stddef.h'库。这可能是错误的原因吗?
感谢您的宝贵时间!

登录发表评论。

社区寻宝

在MATLAB中心找到宝藏,并发现社区可以如何帮助您!

开始狩猎!

被某某人翻译