Кросс-компиляция под 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 подписчик
Правила сообщества
Все дистрибутивы хороши.
Будьте людьми.