如何在windows上编译用于Mac的FMU?

如何在windows上编译用于Mac的FMU?,windows,macos,simulink,modelica,fmi,Windows,Macos,Simulink,Modelica,Fmi,我在Windows上生成了一个FMU,并使用Matlab Simulink在Mac上导入了FMU,得到了以下错误。我搜索了这个问题,从这里的答案中得到了一些线索 ,似乎在Windows和Mac上生成时,FMU将以不同的形式存储 问题是:是否有可能在windows上生成一个仍在Mac上工作的FMU 为了编译MacOS,您需要MacOS平台的C头文件。这些仅在XCode中可用,XCode仅在MacOS上运行,并且头本身不允许重新分发 因此,为MacOS交叉编译是相当困难的。我相信,你可以在Mac上安

我在Windows上生成了一个FMU,并使用Matlab Simulink在Mac上导入了FMU,得到了以下错误。我搜索了这个问题,从这里的答案中得到了一些线索 ,似乎在Windows和Mac上生成时,FMU将以不同的形式存储

问题是:是否有可能在windows上生成一个仍在Mac上工作的FMU


为了编译MacOS,您需要MacOS平台的C头文件。这些仅在XCode中可用,XCode仅在MacOS上运行,并且头本身不允许重新分发

因此,为MacOS交叉编译是相当困难的。我相信,你可以在Mac上安装XCode,将所需的头文件移动到你的系统中,并在你的Windows机器上编译Darwin工具链,但是更新新的MacOS版本很容易出错,也很烦人

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


或者像@matth评论的那样,生成一个源代码FMU,并在您需要的任何平台上使用本机工具链进行编译。

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

因此,为MacOS交叉编译是相当困难的。我相信,你可以在Mac上安装XCode,将所需的头文件移动到你的系统中,并在你的Windows机器上编译Darwin工具链,但是更新新的MacOS版本很容易出错,也很烦人

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


或者像@matth评论的那样,生成一个源代码FMU,并在您需要的任何平台上使用本机工具链进行编译。

根据您拥有的许可证,您可以尝试生成一个源代码FMU,该FMU将直接在目标机上编译。否则,Windows/Linux/Mac之间的交叉编译是很棘手的。非常感谢,这很有意义,至少有一个解决方案。根据您拥有的许可证,您可以尝试生成一个源代码FMU,该FMU将直接在目标机器上编译。否则,Windows/Linux/Mac之间的交叉编译是很棘手的。非常感谢,这很有意义,至少有一个解决方案。非常感谢,认为生成具有特定许可证的源代码FMU可能是最好的选择。使用适用于MacOS的fmpy,交叉编译源代码FMU非常容易,例如。,使用fmpy Guitanks中的工具->CompilePlatformBinary,认为使用特定许可证生成源代码FMU可能是最好的选择。使用MacOS中可用的fmpy,可以非常轻松地交叉编译源代码FMU,例如,使用fmpy gui中的工具->CompilePlatformBinary