Windows/Linux导出的FMI 2.0 FMU能否在Mac版Simulink运行?
跨平台FMU在Mac版Simulink中调用的问题
结论
可以实现,但平台二进制兼容性是核心门槛——你遇到的Cannot load the library错误,就是因为Linux导出的FMU里的动态库和Mac系统不兼容导致的。
错误原因
FMU分两种类型:
- 联合仿真(Co-Simulation):包含对应平台编译的动态链接库(Linux是
.so,Mac是.dylib,Windows是.dll),这类FMU完全绑定平台,跨平台直接用必然加载失败。 - 模型交换(Model Exchange):只包含模型描述文件,没有平台相关二进制,理论上可以跨平台运行,只要Simulink支持解析。
解决办法
导出模型交换型FMU
如果你的建模软件支持,优先导出模型交换类型的FMU,这类不依赖平台动态库,Mac版Simulink能直接解析模型逻辑。在Mac上重新导出FMU
把原始模型拿到Mac环境下,用支持FMI 2.0的建模软件重新导出适配Mac的联合仿真型FMU,生成的.dylib库就能被Simulink正常加载。检查Simulink配置
确认Mac上的Simulink已经安装了FMI Toolbox,并且启用了FMI导入功能,同时验证FMU的FMI 2.0版本是符合Simulink要求的。
额外提示
有些建模软件支持导出“多平台FMU”,打包了Windows/Linux/Mac三种平台的动态库,要是你的软件有这个选项,勾选后导出的FMU就能在所有平台通用,不用重复导出。
内容的提问来源于stack exchange,提问作者tamoora
相关产品推荐
相关产品推荐

