Скомпилируйте приложение Linux для Windows (C) - PullRequest
2 голосов
/ 29 апреля 2011

можно ли скомпилировать приложение для Linux с доступными только для Linux библиотеками для Windows?

Я знаю, что автор веб-сервера nginx использует некоторые инструменты Wine, чтобы его проект на основе Linux работал на win32, изначально, но как он это делает?

Поддерживает ли MinGW создание бинарных файлов Windows, связанных с конкретными библиотеками / заголовками Linux?

PS: я не хочу использовать cygwin из-за больших потерьпроизводительность ...

Ответы [ 2 ]

4 голосов
/ 29 апреля 2011

Используя что-то вроде среды mingw32, вы должны будете найти или собрать все библиотеки, от которых зависит проект, который вы хотите построить (и все библиотеки, от которых зависят эти библиотеки).

Возможно, вам придется реализовать некоторые функции, которые отсутствуют на этой платформе. Одна из причин, по которой Cygwin работает медленно, - это обручи, через которые он должен прыгать для симуляции unix-y вещей, которые отсутствуют в Windows.

1 голос
/ 29 апреля 2011

Пока проект использует стандартные библиотеки в Linux и не зависит от чего-либо конкретного для платформы Linux, порт MCCW GCC может компилировать его в Windows.

Если вы знакомы с инструментами Linuxи вы не Cygwin, вы можете взглянуть на MSYS :

MSYS представляет собой набор утилит GNU, таких как bash, make, gawk и grep, чтобы позволитьсоздание приложений и программ, которые зависят от традиционно присутствующих инструментов UNIX.Он предназначен для дополнения MinGW и недостатков оболочки cmd.

...