Запуск приложения, скомпилированного в cygwin, не имея cygwin установленный

Скажем, у меня есть приложение, которое я скомпилировал под cygwin, и я хочу распределить то приложение, не имея пользователя для установки cygwin. Было бы достаточно упаковать исполняемый файл и cygwin DLL?

17
задан Robby Jones 30 December 2009 в 16:26
поделиться

3 ответа

Можно попробовать скомпилировать все как статическое. Это позволит вам запускать все без необходимости использования libs (так как они уже есть в вашем двоичном файле). Но это также будет означать, что это может работать не на всех платформах, если cygwin понадобится другая или более новая dll.

.
-1
ответ дан 30 November 2019 в 14:38
поделиться
[

] Нужна ли вашему приложению эмуляция Posix, предоставленная Cygwin? Если нет, можно скомпилировать его с флагом -mno-cygwin, и оно вообще не будет зависеть от cygwin, а станет родным приложением для Windows. Часто для настройки и сборки приложения требуется только настоящая оболочка (bash), но на самом деле функциональность Posix Cygwin не нужна.[

]. [

] Другой альтернативой является [] MSYS[] + [] MinGW[], которая представляет собой легкую вилку Cygwin. Это обеспечивает среду компиляции, которая по умолчанию производит родные приложения для Windows.[

]. [

] Третьим вариантом будет использование компиляторов MinGW от Cygwin. Они должны быть доступны через обычный менеджер пакетов Cygwin. Затем вы бы сконфигурировали проект для кросс-компиляции с помощью компиляторов MinGW.[

].
4
ответ дан 30 November 2019 в 14:38
поделиться

Обычно, да. Обязательно установите Cygwin DLL в общедоступном месте, хотя (Windows\System32), эта DLL ведет себя очень плохо, когда на одну и ту же машину загружено несколько версий.

2
ответ дан 30 November 2019 в 14:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: