Estoy usando Cygwin y tengo instalado GCC (versión 4.3.4 20090804 (versión) 1) como paquete de Cygwin.Archivo ejecutable generado usando GCC bajo cygwin
Cuando construí el código C usando GCC bajo Cygwin shell, el archivo de salida ejecutable generado es un ejecutable de tipo (ejecutable PE32 para MS Windows (consola) Intel 80386 de 32 bits) y solo se puede ejecutar/ejecutar bajo Cygwin shell, no como .exe independiente en Windows shell/símbolo del sistema. Si trato de ejecutarlo de forma independiente en el símbolo del sistema de Windows, aparece una ventana de error que dice "El programa no puede ejecutarse porque falta cygwin.dll en su computadora".
¿Cómo se puede hacer de este .exe independiente, que se puede ejecutar en un símbolo del sistema de cualquier otro sistema o incluso en mi propio sistema?
Pensé que GCC bajo Cygwin construiría un ejecutable de Linux (ELF de 32 bits ejecutable LSB), pero no es así. ¿Cómo puedo usar la combinación gcc-cygwin para generar un tipo * .out de archivo ejecutable de Linux?
Además, no puedo ejecutar un ejecutable Linux generado en una combinación Linux-gcc para ejecutarlo bajo Cygwin.
Cualquier puntero sería útil.
Por lo tanto, a partir de su respuesta, entiendo que Cygwin solo proporciona las API POSIX para algunas llamadas a funciones, por lo que el mismo código se puede ejecutar en windws sin cambios en el código. Pero a qué se llama esa 'cosa/componente', que permite a un compilador (gcc) generar un ejecutable específico de Linux. En otras palabras, ¿puede un compilador gcc en el sistema linux generar un ejecutable de Windows que se puede ejecutar en el sistema Windows, dando algunas opciones a gcc? – goldenmean
La construcción de un ejecutable de Windows en Linux requiere un compilador cruzado. En otras palabras, necesita invocar un compilador diferente; las opciones no funcionarán Algunas distribuciones de Linux tienen paquetes MinGW, por lo que el gcc real se llama i686-pc-mingw32-gcc o algo así. Pero nuevamente, si su programa usa funciones POSIX/Linux, no podrá construirlo con un compilador MinGW sin cambios. También existen compiladores cruzados para construir programas Cygwin en Linux, pero no creo que ninguna distribución se envíe con uno. – ak2