Кръстосана компилация на Cygwin - mingw - От идея до печалба

Кръстосано компилиране cygwin -> mingw

Преди време стартирах проекта си за различни платформи. Тъй като предимно седя на Windows, обикновено използвам cygwin за компилация, а i686-w64-mingw живее за изграждане на компилации за тестери под cygwin. Всичко беше наред, но сега дойде времето и за да покажа няколко текстови фрази, реших да го свържа с проекта libfreetype. Когато компилирате на cygwin, няма проблеми - в края на краищата има съответния пакет в хранилището, но за mingw, разбира се, ще трябва да го компилирате сами.

За да няма въпроси за мен, реших да свържа динамично lib и всички негови зависимости (за да не влача куп оставени файлове) да се свързват статично. Горчивият ми опит е тук и ще разкажа.

Първо, малко теория. Във всеки проект за автоинструменти кръстосаното компилиране се изпълнява лесно, като се използват два основни параметъра:

  • --build - указва името на средата, в която компилираме
  • --хост - указва името на средата, в която ще се изпълнява резултатът