Как скомпоновать программу в Cygwin для cigwin.dll?
Windows 7, Cygwin Во всех руководствах пишут, что разница между Cygwin и MinGW в том, что программы, скомпонованные в среде Cygwin должны распространяться с dll, в отличие от MinGW, которая компонует программу сразу под WIndows. Но у меня не получается так. Компонуя helloworld на Си у меня в exe файле нет зависимости от sygwin.dll. (Проверено Dependensy Walker.) Получившийся екзешник запускается на чужом компьютере без dll. В объектном файле написано: GCC: (Rev2, Built by MSYS2 project) 9.2.0. Если же компилировать в окне mingw64 то в объектном файле будет запись GCC: (Rev3, Built by MSYS2 project) 12.1 Может cygwin нужно как-то специально настраивать, что бы не через MSYS2 собирал, а для своей dll?
Ответы (2 шт):
Возможно на этапе очистки библиотека отпала так как не вызывались функции из неё?
Возможно переменные окружения от mingw попали в среду сборки cygwin и линковщик настроился по-мингвшному.
Помогло полное удаление Cygwin и MinGW и установка всего по новой. Теперь всё работает правильно, Dependency Walker теперь видит и ругается на непонятную cygwin1.dll