как скомпилировать FMU в Windows для использования в Mac?

Я сгенерировал один FMU в Windows и импортировал FMU в Mac с помощью Matlab Simulink и получил следующую ошибку. Я искал проблему и получил некоторые подсказки из ответа здесь https://tomlankhorst.nl/quick-fix-matlab-fmu-import-error/, похоже, что FMU будет храниться в другой форме при создании в Windows и Mac.

вопрос: возможно ли создать FMU в Windows, который все еще работает на Mac.

введите здесь описание изображения


person Tao.Y    schedule 27.09.2020    source источник
comment
В зависимости от имеющейся у вас лицензии вы можете попытаться сгенерировать исходный код FMU, который будет скомпилирован непосредственно на целевой машине. В противном случае перекрестная компиляция между Windows/Linux/Mac будет сложной.   -  person matth    schedule 28.09.2020
comment
Большое спасибо, это имеет смысл, по крайней мере, для этого есть решение.   -  person Tao.Y    schedule 29.09.2020


Ответы (1)


Чтобы скомпилировать для MacOS, вам нужны заголовки C для платформы MacOS. Они доступны только в XCode, который работает только на MacOS, а сами заголовки не могут распространяться.

Таким образом, кросс-компиляция для MacOS довольно сложна. Вы можете установить XCode на свой Mac, переместить необходимые заголовки в свою систему и скомпилировать цепочку инструментов Darwin на своем компьютере с Windows (я полагаю), но обновление для более новых версий MacOS очень подвержено ошибкам и раздражает.

Самый простой способ — запустить MacOS и кросс-компилировать бинарники Windows+Linux, так как эти платформы менее закрыты.

Или, как прокомментировал @matth, создайте FMU с исходным кодом и скомпилируйте его, используя собственный набор инструментов на любой платформе, которая вам нужна.

person sjoelund.se    schedule 29.09.2020
comment
большое спасибо, думаю, лучшим вариантом будет создание FMU с исходным кодом с конкретной лицензией. - person Tao.Y; 29.09.2020
comment
Кросс-компиляцию FMU с исходным кодом можно очень легко выполнить с помощью fmpy github.com/CATIA-Systems/FMPy (который доступен для MacOS), например, с помощью Tools --› CompilePlatformBinary из fmpy-gui - person Christian Bertsch; 29.09.2020