Кросс-компиляция под Windows для Linux

Просьба подсказать.

Появилась задача портировать софтину из Windows в Linux и дальше поддерживать её далее в этих двух ипостясях. Так как до этого о Linux я знал только что он есть :) пришлось экспресс-обучиться основным упражнениям... собственно выбрать/поставить, организовать удалённый рабочий стол, ssh, ключи т.п.

Но дальше заклинило на создании инфраструктуры разработки. Имея нехилый такой опыт в кросс-разработке софта на контроллерах, в т.ч и на ARM, виделся мне и здесь такой же путь: компилируем в Windows -> проверяем основной функционал -> переключаем набор/меняем компилятор -> компилируем для целевого устройства -> заливаем на целевое устройство -> проверяем специфику работы с железом и всё.

Но! Долгий гуглёж показал, что здесь такого пути нет. Потому как создать под Windows бинарник, который можно будет запустить в Linux, нереально. Точнее, вроде бы как и можно, но для этогго потребуется что-то типа оболочки (Cygwin), из-под неё запуск toolchain, который, при удачных обстоятельствах, сделает бинарник и т.п. Интегрировать всё это в привычный IDE и вовсе, типа, непосильная задача... В основном советуют всем этим не заморачиваться, а компилировать целевую сборку на целевой машине или, хотя, бы в эмуляторе (WSL, например). Ну и, соответственно, весь пакет исходников туда-сюда носить.

Уважаемы гуру! Подскажите нубу - действительно ли так всё плохо, или я замыленным взглядом чего-то не заметил? Как-то несколько неожиданны были такие сложности в, казалось бы, простом деле :(

И да - софтина не консоль, а GUI, так что то, что предлагается в VS 2019, не поможет...

И ещё да -  вроде бы какой-то похожий механизм предусмотрен в Qt Creator. Даже Deploy на Linux-машину получилось настроить. Но вот только деплоить туда нечего - не могу найти как создать бинарник...

GNU/Linux

1K постов15.5K подписчик

Добавить пост

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.