如何在要在Mac中使用的Windows上编译FMU?

问题描述

我在Windows上生成一个FMU,并在Mac上使用Matlab Simulink导入了FMU,但出现以下错误。我搜索了问题,并从这里的答案中获得了一些线索 https://tomlankhorst.nl/quick-fix-matlab-fmu-import-error/,似乎在Windows和Mac上生成FMU时,它们会以不同的形式存储。

问题是:是否可以在仍可在Mac上运行的Windows上生成FMU。

enter image description here

解决方法

为了针对MacOS进行编译,您需要MacOS平台的C标头。这些仅在只能在MacOS上运行的XCode中可用,并且不允许重新分配标头本身。

因此,很难为MacOS进行交叉编译。您可以在Mac上安装XCode,将所需的标头移到系统上,然后在Windows计算机上编译Darwin工具链(我相信),但是它很容易出错,而且很烦人,无法更新到较新的MacOS版本。

最简单的方法是运行MacOS并交叉编译Windows + Linux二进制文件,因为这些平台的封闭性较小。

或者像@matth注释的那样,生成源代码FMU并在所需的任何平台上使用本机工具链进行编译。