Sysplorer报错使用未定义的struct”XXX”,如何处理?
技术分享
发布于 2025-10-15 18:28:11
查看 3过去230天
问题现象

解决方法
按照Modelica规范进行语法检查,对于模型中记录名未在外部函数中定义是不被允许的。
根据Modelica规范12.9.1.3小节的说明,当外部函数中使用了记录(record)类型时,需要在外部函数中提供与模型中的记录名称一致的结构体(struct)定义,相关规范说明如下图所示:

解决办法
当模型中外部函数用到了记录(record)类型时,需要用户提供与模型中记录名同名且成员相同的结构体定义。解决办法为:用户提供具有与Modelica模型中record名称相同的结构体定义的C文件或头文件。针对如下案例,将结构体定义的名称test_record_different修改为test_record,具体如下:


将上述案例改为


所属专栏:Sysplorer基础平台
产品信息:Sysplorer系统建模仿真环境