Creación de ejecutables para Windows desde Linux
03 de marzo 2010 a las 15:34 Deja un comentario
Cuando se escribe un programa, especialmente uno gráfico, se puede sentir un poco de compasión hacia los usuarios de Windows y me pregunto si sería posible darles la oportunidad de usarlo. Toolkits famosos como GTK y Qt proporciona un buen soporte para Windows y una capa de abstracción para las funciones vitales OS-dependientes, por lo que resulta más fácil escribir código independiente del SO.
A continuación, tiene un compilador cruzado: es sólo un compilador, excepto que en lugar de crear archivos ejecutables que podría funcionar, crea ejecutables en otro formato (por ejemplo, Win32 EXE. archivos). Pero desde que Windows es muy diferente de GNU / Linux, un código o una de sus dependencias tiene que utilizar funciones específicas de Windows: lo que necesita encabezados del origen y las bibliotecas quizá adicionales.
MinGW tiene como objetivo proporcionar todo esto: un compilador, un enlazador y otros utilies necesarias, cabeceras y bibliotecas para las funciones básicas de Windows ... distribuciones estándar incluyen un paquete para instalar MinGW. El mío es Arch Linux, y el paquete necesario es mingw32-gcc . Si utiliza autoconf , hay entonces una forma fácil de utilizar las herramientas de compilación cruzada en lugar de los traditinoal.
Supongamos que el nombre del compilador cruzado es i486-mingw32-gcc , como es el caso de Arch Linux: entonces la opción - host = i486-mingw32 dirá el script de configuración para utilizar programas de i486-mingw32-xxx en lugar de xxx. Permite la instalación de todas las bibliotecas GTK como archivos DLL y compilar un programa GTK como. Binario ejecutable. Todavía no he probado el archivo resultante en un sistema Windows real, pero funciona bajo Wine.
Cuando se prueba con el vino, que necesita para hacer las DLLs necesarias accesible: Esto se puede hacer utilizando el drive_c árbol de directorios que contiene los programas instalados bajo Wine, o incluyendo en la variable PATH la carpeta que contiene los archivos binarios y archivos DLL compilados por MinGW, por ejemplo / usr/i486-mingw32/bin (esto debe hacerse en $ HOME / wine / system.reg , utilizando las convenciones de nombres de ruta del vino).
¿seguro se preguntarán por que no hacerlo desde windows?
o
¿por que hacer ejecutables para windows?
o
¿por que hago un post sobre esto?
respuesta 1
en windows es un lio hacer cosas para windows.
respuesta 2
curiosidad
respuesta 3
no encotraba como hacerlo desde archlinux, la mayoría de los tutoriales eran en debian y deribados y hay una minuscula diferencia pero diferencia al fin.