Respuesta más precisa de Jerry.
¡El procedimiento descrito a continuación debe ser confrontado con sus derechos y la ley de licencias! Sé que puede funcionar, pero los derechos para distribuir el resultado (o incluso realizar el procedimiento) pueden estar limitados por la licencia de Cygwin (y creo que sí). Esto es debido a que su aplicación aún se refieren a Cygwin (a pesar de que es inútil - pero todavía está en su aplicación)
Asumir hello.exe
es el nombre de su gran aplicación compilada bajo Cygwin en el directorio gran proyecto C:\xxx\yyy\zzz\
En la consola Cygwin ir a C:\xxx\yyy\zzz
y escriba
objdump -p hello.exe | grep "DLL Name"
Se puede obtener todas las DLL que utiliza su aplicación. Luego copie C:\xxx\yyy\zzz
en todas las DLL enumeradas y específicas para cygwin.
Tenga en cuenta que su aplicación puede invocar otras aplicaciones (utilizando la función exec, por ejemplo) --- encuentre las aplicaciones de bibliotecas que usen y copien estas bibliotecas, así como también estas aplicaciones - en C:\xxx\yyy\zzz
.
Quizás deba recompilar su proyecto con la opción del tipo -L C:\xxx\yyy\zzz
o menos.Mira todos los otros caminos en tus fuentes.
Por lo tanto, su aplicación se vuelve independiente de la instalación de Cygwin y puede presentar su funcionalidad para/compartirla con ---- otros usuarios de Windows sin Cygwin. Pero, una vez más, le señalo y le pregunto, ¡tenga en cuenta la licencia y la ley adecuadas de los creadores de Cygwin y obsérvelos!
Supongo que realmente necesita servicios de CYGWIN.DLL, y simplemente usar -Mno-cygwin (o MinGW) no funcionará para usted? – RBerteig
No lo sé. Estoy usando GCJ, pero no pude conseguir el GCJ que vino con mingw para funcionar. –