В общем задача следующая. Есть windows машина и исходный код Linux-проекта с make-файлом. Нужно собрать этот проект из под винды, чтобы потом запускать на линукс-машине (формат файла нужен ELF). Чем можно воспользоваться?
FreeX, можешь поднять binutils и gcc suite - получишь cross-compiler. На windows host, для linux target.
И MinGW и Cygwin - это порт Линукса под Винды. Нет там target=elf. Там задача портировать из исходников. Для создания elf нужны кросс-средства. Наверняка они есть, хотя проще под виртуалкой. Они сейчас и фришные есть. Просто путь через кросс-средства это способ нажить кучу проблем. Я понимаю для АРМ и МИПС - там на реальном железе тяжко компилить, но на X86 - маразм.
Я делал так: http://wiki.osdev.org/GCC_Cross-Compiler в Cygwin в Windows, получал ELF'ы. Но не факт, что все пройдет гладко.
ясн. спасибо всем. в общем, в данном случае самый оптимальный выход - поднимать линукс-систему и не знать проблем)) А если у меня код кроссплатформенный, и хочется сразу собирать и под винду, и под линукс, и не перетаскивать исходники с виндус машины на линукс (можно конечно примаунтить в линуксе виндус шару или что-то похожее, но это тоже не вариант) какие сейчас cross-compiler популярны? PS. Сейчас проект написан под линукс, но собираемся портировать под винду тоже, и поэтому нужно поднять какую-то кроссплатформенную build-систему, под виндой =)
Вот именно для этого и делаются Cygwin и MinGW. В них достаточно все вылизано... Но не получится использовать специфические Линукс функции типа fork и т.п. Для ленивых есть готовые варианты оболочек : командная строка - MSYS и GUI - DevCPP Cygwin неудобен тем, что придется таскать DLL . MinGW требует msvcrt.dll и стандартные DLL Винды. И Cygwin и MinGW теперь ставятся через маленькую утилиту, т.к. полный дистр. огромный и никому не нужен. С утилитой от Cygwin мне не удалось разобраться, с mingw тоже "темный лес", но вроде скачал. Пока остановился на DevCPP - есть протабельный вариант.