Flutter Desktop - генерировать.exe из Mac
Я начал свое путешествие с рабочего стола Flutter. До сих пор все работало нормально. Я разрабатывал приложение, и оно создавало для macOS как шарм. Теперь я хотел бы создать исполняемый файл для Windows (.exe). Можно ли сгенерировать один из macOS? Если так, как я могу достичь чего-то подобного?
1 ответ
flutter
Инструмент не поддерживает кросс-компиляцию целей рабочего стола, поэтому нет простого способа сделать то, что вы хотите.
Если вы хотите сделать это вручную, вам потребуется (в дополнение к настройке цепочки инструментов кросс-компиляции для сборки приложений Windows из macOS в целом):
- вручную воссоздать этапы предварительной сборки, которые обычно выполняются автоматически
flutter
(загрузите правильную Flutter DLL и поместите ее в ожидаемое место, сделайте то же самое с оболочкой C++, если вы ее используете, создайте.props
файл с правильными значениями и т. д.), затем создайте.sln
напрямую или - локально изменить
flutter_tool
так что он не выполняет проверку платформы хоста для шагов Windows, и переписывает способ, которым он находитmsbuild
работать на macOS.
В документации говорится:
Нет поддержки кросс-компиляции (проблема 28617).
Компилятор поддерживает создание машинного кода только для операционной системы, в которой он работает. Вам нужно запустить компилятор трижды - в macOS, Windows и Linux - для создания исполняемых файлов для всех трех операционных систем. Обходной путь - использовать поставщика непрерывной интеграции (CI), который поддерживает все три операционные системы.