Скажем, у меня есть приложение, которое я скомпилировал под cygwin, и я хочу распределить то приложение, не имея пользователя для установки cygwin. Было бы достаточно упаковать исполняемый файл и cygwin DLL?
Можно попробовать скомпилировать все как статическое. Это позволит вам запускать все без необходимости использования libs (так как они уже есть в вашем двоичном файле). Но это также будет означать, что это может работать не на всех платформах, если cygwin понадобится другая или более новая dll.
.] Нужна ли вашему приложению эмуляция Posix, предоставленная Cygwin? Если нет, можно скомпилировать его с флагом -mno-cygwin, и оно вообще не будет зависеть от cygwin, а станет родным приложением для Windows. Часто для настройки и сборки приложения требуется только настоящая оболочка (bash), но на самом деле функциональность Posix Cygwin не нужна.[
]. [] Другой альтернативой является [] MSYS[] + [] MinGW[], которая представляет собой легкую вилку Cygwin. Это обеспечивает среду компиляции, которая по умолчанию производит родные приложения для Windows.[
]. [] Третьим вариантом будет использование компиляторов MinGW от Cygwin. Они должны быть доступны через обычный менеджер пакетов Cygwin. Затем вы бы сконфигурировали проект для кросс-компиляции с помощью компиляторов MinGW.[
].Обычно, да. Обязательно установите Cygwin DLL в общедоступном месте, хотя (Windows\System32), эта DLL ведет себя очень плохо, когда на одну и ту же машину загружено несколько версий.