Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ejecutar un programa compilado en Linux en Windows.

Estas en el tema de Ejecutar un programa compilado en Linux en Windows. en el foro de C/C++ en Foros del Web. Bueno, cree un programa bastante sencillo y usando las bibliotecas estándar de C++, lo compile en Linux y selo mandé a un amigo que usa ...
  #1 (permalink)  
Antiguo 07/12/2012, 20:14
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
Pregunta Ejecutar un programa compilado en Linux en Windows.

Bueno, cree un programa bastante sencillo y usando las bibliotecas estándar de C++, lo compile en Linux y selo mandé a un amigo que usa Windows, y al ejecutarlo le salió que la versión que intenta ejecutar no es compatible, y que revise si su configuración es x86 o x64.

Según yo, esto no debería suceder, ya que sólo usé librerías estándar (iostream, cstdlib, ctime).

Me podrían ayudar?, muchas gracias.
  #2 (permalink)  
Antiguo 08/12/2012, 05:40
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 4 meses
Puntos: 46
Respuesta: Ejecutar un programa compilado en Linux en Windows.

Hombre, evidentemente, si lo compilas en linux, el ejecutable sirve para linux, no windows.

Lo que puedes hacer es compilarlo en windows otra vez con el mismo codigo, pero no mandar el ejecutable.



Saludos
  #3 (permalink)  
Antiguo 08/12/2012, 06:04
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
Respuesta: Ejecutar un programa compilado en Linux en Windows.

Pero no hay forma de compilar un programa que se ejecute en Windows desde Linux?
  #4 (permalink)  
Antiguo 08/12/2012, 07:03
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 4 meses
Puntos: 46
Respuesta: Ejecutar un programa compilado en Linux en Windows.

Si, si que se puede, creo que es com mingw32 o algo asi pero ahora no recuerdo como.
Busca informacion sobre cross-compiling, ahi deberias encontrar cosas.


Saludos
  #5 (permalink)  
Antiguo 08/12/2012, 07:36
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 11 meses
Puntos: 73
Respuesta: Ejecutar un programa compilado en Linux en Windows.

No puedes ejecutar un programa compilado para un sistema operativo en otro sistema operativo. El ejecutable que obtienes tras la compilación consiste, básicamente, en llamadas a servicios del sistema operativo. Aunque al final estos servicios hagan lo mismo (por ejemplo, leer el teclado, enviar información a la pantalla, leer/escribir en unidades de disco, etc), la forma de trabajar y la forma de llamarlos será completamente distinta. Lo único que puedes hacer es, como dijo L3mOn, compilar en Windows.

Mingw no es más que una versión para Windows del compilador Gcc. Sigues teniendo que compilar para Windows.

No sé si hay algún cross-compiler (compilador cruzado) que te permita compilar en Linux produciendo un ejecutable para Windows (aunque creo que no). Pero creo que lo mejor sería instalar en el sistema Windows alguna versión de Gcc (Mingw o Cygwin) y recompilar el código fuente (de hecho, si te limitas a aplicaciones de consola con las librerías estándar, te valdría con cualquier compilador C/C++).

Saludos,
  #6 (permalink)  
Antiguo 09/12/2012, 07:33
Avatar de iblancasa  
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 143
Antigüedad: 11 años, 4 meses
Puntos: 16
Respuesta: Ejecutar un programa compilado en Linux en Windows.

Pienso que no se puede.
Lo más cercano a eso que se puede hacer es compilar en Ubuntu un ejecutable para Windows, pero no funcionaría en el propio Ubuntu, solo en Windows.

Si se pudiera, ¿no creéis que se utilizaría el mismo ejecutable para Windows que para sistemas operativos Unix en los programas que descargamos habitualmente? Sin embargo tenemos una versión para cada sistema operativo.

Un saludo.
  #7 (permalink)  
Antiguo 09/12/2012, 07:44
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
Respuesta: Ejecutar un programa compilado en Linux en Windows.

Pero eso es lo que quería, poder compilar para windows en linux, aunque no funcione en linux... cómo puedo hacerlo?
  #8 (permalink)  
Antiguo 09/12/2012, 08:21
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 4 meses
Puntos: 46
Respuesta: Ejecutar un programa compilado en Linux en Windows.

Bueno, de hecho si que lo podras usar en linux, para eso se desarrollo wine.


Saludos
  #9 (permalink)  
Antiguo 10/12/2012, 13:28
Avatar de iblancasa  
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 143
Antigüedad: 11 años, 4 meses
Puntos: 16
Respuesta: Ejecutar un programa compilado en Linux en Windows.

Cita:
Iniciado por reethok Ver Mensaje
Pero eso es lo que quería, poder compilar para windows en linux, aunque no funcione en linux... cómo puedo hacerlo?
Simplemente, busca "compilación cruzada" en Google.
Un saludo.
  #10 (permalink)  
Antiguo 10/12/2012, 18:15
 
Fecha de Ingreso: noviembre-2012
Mensajes: 24
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: Ejecutar un programa compilado en Linux en Windows.

Podes usar Qt, las funciones del framework te permiten usar el programa tanto en Windows como en Linux.
  #11 (permalink)  
Antiguo 14/12/2012, 03:20
Avatar de guzzano  
Fecha de Ingreso: julio-2010
Ubicación: Isla de Margarita
Mensajes: 162
Antigüedad: 13 años, 9 meses
Puntos: 13
Respuesta: Ejecutar un programa compilado en Linux en Windows.

Si estas usando el ANSI no debieras tener ningún tipo de inconveniente. Siempre y cuando no uses librerías que no sean estandares.

Recueda también que muchas cosas cambian de compilador en compilador, como te dijeron por ahí, busca 'compilador cruzado'

Saludos.

Etiquetas: int, linux, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:32.