Есть ли побочные эффекты от использования флага -mno-cygwin в g ++? - PullRequest
2 голосов
/ 24 февраля 2009

Я недавно обнаружил, что могу создавать исполняемые файлы Windows с g ++, которые не имеют внешних зависимостей, если я использую флаг -mno-cygwin. У меня сложилось впечатление, что компилятор использует библиотеки MinGW вместо cygwin.

  • Является ли это эффективным способом использования cygwin для создания бинарных файлов без проблем с лицензированием gpl?

  • Есть ли какие-либо технические побочные эффекты, кроме большого исполняемого файла? (т.е. потеря специфичных для cygwin функций, ограниченная функциональность)

  • Документирована ли эта функция где-нибудь? Я могу найти сообщения группы новостей только несколько лет назад, описывающие это.

1 Ответ

1 голос
/ 11 марта 2009

Флаг -mno-cygwin удаляет все зависимости от Cygwin, так что ваша программа не будет полагаться ни на cygwin1.dll, ни на присутствие среды Unix. В результате исполняемый файл выглядит так, как если бы он был скомпилирован с использованием набора инструментов MinGW, а не Cygwin. Стандартные функции не распознают или не понимают пути или символические ссылки в стиле Unix, поскольку они реализованы в Cygwin.

Я не могу вспомнить, где он находится, но в Cygwin есть справочный документ, который объясняет это.

...