Более точный ответ Джерри.
Процедура, описанная ниже, должна противоречить вашим правам и лицензионному законодательству! Я знаю, что это может сработать, но права на распространение результата (или даже на выполнение процедуры) могут быть (и я действительно так думаю) ограничены лицензией Cygwin. Это потому, что ваше приложение будет по-прежнему ссылаться на Cygwin (даже если оно бесполезно - но все еще находится в вашем приложении)
Предположим, hello.exe
- это имя вашего замечательного приложения, скомпилированного в Cygwin в каталоге отличных проектов C:\xxx\yyy\zzz\
В консоли cygwin перейдите на C:\xxx\yyy\zzz
и введите
objdump -p hello.exe | grep "DLL Name"
Вы получаете все библиотеки DLL, которые использует ваше приложение. Затем скопируйте C:\xxx\yyy\zzz
во все библиотеки DLL, перечисленные и специфичные для cygwin.
Обратите внимание, что ваше приложение может вызывать другие приложения (например, с помощью функции exec) - найдите приложения библиотек, которые используют приложения, и скопируйте эти библиотеки, а также сами приложения - в C:\xxx\yyy\zzz
.
Возможно, вам придется перекомпилировать ваш проект с опцией вида -L C:\xxx\yyy\zzz
или около того. Смотрите все другие пути в ваших источниках.
Таким образом, ваше приложение становится независимым от установки Cygwin, и вы можете представить его функциональность / поделиться им с другими пользователями Windows без Cygwin. Но - еще раз я указываю и прошу вас - знать о соответствующих лицензиях и законах создателей Cygwin и соблюдать их!