Более точный ответ Джерри.
Процедура, описанная ниже, должна соответствовать вашим правам и лицензионному праву! Я знаю, что это может работать, но права на распространение результата (или даже выполнение процедуры) могут быть (и я действительно чувствую, что есть) ограничены лицензией 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 и наблюдайте за ними!
Я полагаю, что на самом деле вам нужны услуги от CYGWIN.DLL, и просто использование -Mno-cygwin (или MinGW) не сработает для вас? – RBerteig
Не знаю. Я использую GCJ, но я не мог получить GCJ, который пришел с mingw для работы. –