Programar en linux, ejecutar en windows

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: akodo, maiku

Responder
Avatar de Usuario
Akronix
Forista Medio
Forista Medio
Mensajes: 198
Registrado: Vie Oct 05, 2012 11:30 pm

Programar en linux, ejecutar en windows

Mensaje por Akronix » Jue Oct 31, 2013 4:20 pm

Hola de nuevo.

Como mi OS preferido es linux y normalmente tengo todas las IDEs, proyectos y programas en linux, prefiero programar en linux. Para empezar no sé ni como compilar un programa en windows sin tener que abrir visual studio #-o.

Pero en la universidad los profesores no saben qué es todo esto, así que en algunos casos tengo que entregarles ejecutarles para windows (aka .exe).

¿Cómo me sugerís que lidie con esto?
Conocimiento libre para el pensamiento libre.
Linux user: #561589
Linux Distro: X/Ubuntu 14.04
--
Avatar sacado de tux.crystalxp.net, hecho por Wyvern y publicado con licencia CC BY-NC-SA.
Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1905
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: Programar en linux, ejecutar en windows

Mensaje por hipersayan_x » Jue Oct 31, 2013 4:37 pm

Podes compilar tus programas desde GNU/Linux usando MinGW y probarlos con Wine. Acordate de entregar siempre la DLL de MinGW junto con tu programa, porque sino no va a funcionar en la computadora destinataria.
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net
Avatar de Usuario
Deckon
Moderador
Moderador
Mensajes: 3273
Registrado: Dom Abr 01, 2007 8:00 am
Ubicación: México, Estado de México

Re: Programar en linux, ejecutar en windows

Mensaje por Deckon » Vie Nov 01, 2013 4:27 pm

codeblocks, excelente ide multiplataforma y te quitas de lios.

ahora si no quieres un ide, y solo quieres hacer tu código en un editor de texto y compilarlo solo necesitas instalar mingw y compilas con gcc desde el emulador de terminal de windows como si lo hicieras en un linux.
Reglamento del Foro | Temas mas Preguntados | WikiEL | GitHub
Linux User #:406092
Manjaro | Asus P8z77-v | i5-2310 | Nvidia GeForce Gt 610 | Hp Ultrabook Folio 13
Avatar de Usuario
Akronix
Forista Medio
Forista Medio
Mensajes: 198
Registrado: Vie Oct 05, 2012 11:30 pm

Re: Programar en linux, ejecutar en windows

Mensaje por Akronix » Vie Nov 01, 2013 10:32 pm

Creo que empezaré con la opción de hipersayan_x, y así me evito tener que reiniciar a windows solo para compilar un programa.

Lo único que wine quizás no sea lo más fiable, pero para los pequeños programitas de openGL que voy a hacer creo que me vale.

Por cierto, es imposible compilar un programa con el compilador de microsoft, sin tener que usar el ide, vistual studio?
Conocimiento libre para el pensamiento libre.
Linux user: #561589
Linux Distro: X/Ubuntu 14.04
--
Avatar sacado de tux.crystalxp.net, hecho por Wyvern y publicado con licencia CC BY-NC-SA.
Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1905
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: Programar en linux, ejecutar en windows

Mensaje por hipersayan_x » Vie Nov 01, 2013 11:44 pm

Akronix escribió:Creo que empezaré con la opción de hipersayan_x, y así me evito tener que reiniciar a windows solo para compilar un programa.
Acá hay una guía para configurar Code::Blocks con MinGW y Wine en GNU/Linux:

http://forums.codeblocks.org/index.php?topic=3343.0
Akronix escribió:Lo único que wine quizás no sea lo más fiable, pero para los pequeños programitas de openGL que voy a hacer creo que me vale.
Necesitas Wine para probar tu programas sí o sí :? , además con Wine y OpenGL no vas a tener ningún problema por ser nativo.
Akronix escribió:Por cierto, es imposible compilar un programa con el compilador de microsoft, sin tener que usar el ide, vistual studio?
Es imposible hacer cualquier cosa en Windows sin pasar por alguno de sus spywares productos ::lol::
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net
Avatar de Usuario
Akronix
Forista Medio
Forista Medio
Mensajes: 198
Registrado: Vie Oct 05, 2012 11:30 pm

Re: Programar en linux, ejecutar en windows

Mensaje por Akronix » Sab Nov 02, 2013 12:36 pm

Bueno, he conseguido compilar un hello world tanto desde code::blocks con la configuración del enlace al foro y de su wiki como desde la terminal directamente con:

Código: Seleccionar todo

i586-mingw32msvc-g++ HelloWorld.cpp -o HelloWorld.exe
Y wine los ha ejecutado, hasta aquí bien.

Pero lo que no consigo ahora es compilar un programa que use openGL. Mayormente porque no tengo el header Windows.h, obvio ya que en linux no tiene sentido tenerlo, y freeglut lo necesita para compilar para windows.

Para empezar, he tenido que cambiar el include del codigo fuente: #include <GL/freeglut.h> a #include "/usr/include/GL/freeglut.h" porque de la otra forma el linker no me encontraba la librería.

Después de esto, si intento compilar desde la terminal (o con c::b, lo mismo da):

Código: Seleccionar todo

akronix@ASJ-Netbook:~/workspace/Computer Graphics$ i586-mingw32msvc-g++ firstProgram.cpp -o firstProgram.exe -lglut -lGLU -lGL
In file included from /usr/include/GL/freeglut.h:17,
                 from firstProgram.cpp:1:
/usr/include/GL/freeglut_std.h:61:24: error: Windows.h: No such file or directory
Estaba pensando en buscar la librería Windows.h y pegarla tal cual, pero no sé si es una buena idea o si siquiera la puedo encontrar tal cual. Ayuda?
hypersayan_x escribió:
Akronix escribió:Por cierto, es imposible compilar un programa con el compilador de microsoft, sin tener que usar el ide, vistual studio?
Es imposible hacer cualquier cosa en Windows sin pasar por alguno de sus spywares productos :::lol:::
Jajaj, bueno, en la wiki de code::blocks he visto que parece ser que se puede configurar c::b para que compile con microsoft visual c++, pero eso si, tienes que tener al menos la versión express de visual studio. A las malas, tiro con ella.
Conocimiento libre para el pensamiento libre.
Linux user: #561589
Linux Distro: X/Ubuntu 14.04
--
Avatar sacado de tux.crystalxp.net, hecho por Wyvern y publicado con licencia CC BY-NC-SA.
Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1905
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: Programar en linux, ejecutar en windows

Mensaje por hipersayan_x » Sab Nov 02, 2013 3:29 pm

Akronix escribió: Pero lo que no consigo ahora es compilar un programa que use openGL. Mayormente porque no tengo el header Windows.h, obvio ya que en linux no tiene sentido tenerlo, y freeglut lo necesita para compilar para windows.
Acordate que estas haciendo compilación cruzada, y en GNU/Linux la cabecera windows.h la provee MinGW. Tenes que instalar el paquete mingw32-w32api, o el que corresponda según tu distro.
Akronix escribió: Para empezar, he tenido que cambiar el include del codigo fuente: #include <GL/freeglut.h> a #include "/usr/include/GL/freeglut.h" porque de la otra forma el linker no me encontraba la librería.
Error, las cabeceras de MingW no se instalan junto con las de GNU/Linux, sino que se instalan en su propia carpeta, mira aquí. En GCC/MingW, la ruta a donde se encuentran las cabeceras se indica con la opción -I, de esa forma evitas poner la ruta completa en el include, y para indicar la ruta de las librerías se usa la opción -L. Pej.:

Código: Seleccionar todo

i586-mingw32msvc-g++ HelloWorld.cpp -o HelloWorld.exe  \
    -I/usr/local/share/MinGW/freeglut/include/
    -L/usr/local/share/MinGW/freeglut/lib/ -lfreeglut -lopengl32
Te dejo otros enlaces:

http://osix.net/modules/article/?id=670
http://www.transmissionzero.co.uk/compu ... ith-mingw/
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net
Avatar de Usuario
Akronix
Forista Medio
Forista Medio
Mensajes: 198
Registrado: Vie Oct 05, 2012 11:30 pm

Re: Programar en linux, ejecutar en windows

Mensaje por Akronix » Dom Nov 03, 2013 7:56 pm

Aham, ya lo entiendo mejor.
He visto que también tengo que bajarme freeglut para MinGW...Veo que me queda mucha documentación por leer y pruebas que hacer, y la verdad es que estoy un poco acosado con las tareas que ya tengo, así que pospondré este problema para más tarde y si me urge compilar una practica para w2, reinicio un momento a visual studio express.

Gracias por toda la info hypersayan. Seguro que vuelvo a ello porque me interesa aprender a hacer que mis programas funcionen en varias plataformas.
Conocimiento libre para el pensamiento libre.
Linux user: #561589
Linux Distro: X/Ubuntu 14.04
--
Avatar sacado de tux.crystalxp.net, hecho por Wyvern y publicado con licencia CC BY-NC-SA.
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje