Я согласен с Дугласом , что очень сложно сделать кросс-компилятор и работать. Как правило, это ваш выбор в крайнем случае. Если вы загружаете загрузочный диск или создаете двоичный файл для встроенного устройства, то зачастую кросс-компиляция является единственным вариантом. Вы должны спокойно компилировать свой собственный gcc под Cygwin, прежде чем рассматривать кросс-компиляцию. Для кросс-компиляции вам нужно собрать gcc для запуска под windows, но который создаст двоичные файлы для вашей платформы исполнения. Пример инструкции для этого можно найти здесь .
Возможно, вы хотите кросс-компиляцию, потому что у вас нет root и / или вы не можете скомпилировать на целевой платформе. Например, у меня был хостинг-провайдер, который запускал Redhat Linux. Я мог запускать сценарии Perl CGI и связанные с ними модули, но не мог скомпилировать на целевом компьютере, и созданные мной библиотеки должны были существовать в моем собственном каталоге.
Чтобы решить эту проблему, я мог попытаться выполнить кросс-компиляцию для своей целевой платформы, но вместо этого я решил настроить аналогичный хост внутри виртуальной машины под Windows. В Cygwin вы можете создать скрипт, который вставит ssh в вашу виртуальную машину, скопирует ваш исходный код и выполнит полную настройку / сборку. Последним шагом было развертывание двоичного артефакта на моей размещенной системе.
Я успешно выполнил Solaris 10 и Open Solaris на виртуальной машине в Windows. К сожалению, вам может быть сложнее запустить HPUX под виртуальной машиной.