Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: MG2010 en 28 Octubre 2010, 08:34 am



Título: Compilación cruzada en linux me deja ejecutables de 1 mega para un hola mundo
Publicado por: MG2010 en 28 Octubre 2010, 08:34 am
Estoy comenzando a incursionar en el mundillo de SDL, porque quiero hacer un juego sátira de mi mismo.

La cosa es he pensado en compartirlo con mis amigos, y para ello tiene que correr en windows, y yo no tengo instalado windows, y tampoco quiero instalarlo sólo para eso. Entonces comence con la compilacion cruzada, que me va muy bien desde consola, pero al incluir SDL, las cosas se vuelven poco cómodas porque no funciona exactamente igual que con g++. Para esto yo desarrollo con g++ y gedit, pero quize usar codebloks para ir cruzando y no hacerme bolas, pero un hola mundo me lo deja de un mega :S

No un hola mundo con SDL no! solo esto:

Código
  1. #include <iostream>
  2. using namespace::std;
  3.  
  4.  int main(){
  5.   cout << "hola mundo" << endl;
  6.   return 0;
  7.                 }

Bueno, sé que lo pedirán así que bueno, el método que use fue este: http://goo.gl/PYWX

Saludos !


Título: Re: Compilación cruzada en linux me deja ejecutables de 1 mega para un hola mundo
Publicado por: Khronos14 en 28 Octubre 2010, 21:37 pm
Es por la librería iostream, prueba a sustituirla por stdio y ya verás.

Saludos.


Título: Re: Compilación cruzada en linux me deja ejecutables de 1 mega para un hola mundo
Publicado por: MG2010 en 29 Octubre 2010, 18:54 pm
No me gusta stdio  :-\

Haré la prueba para no dejar, pero creo que haré un makefile....


Título: Re: Compilación cruzada en linux me deja ejecutables de 1 mega para un hola mundo
Publicado por: ace332 en 31 Octubre 2010, 16:31 pm
¿Y ya probaste quitando la información de depuración del ejecutable?  :rolleyes:

Supongo que se puede usar el IDE para generar el ejecutable sin información de depuración, aunque también puede hacerse después usando el comando strip. (no se si se podra aplicar... por lo de la  compilación cruzada, el ejecutable será de Windows y estas programando en Linux..).

Bueno, al final puedes usar UPX para reducir aun más el tamaño del ejecutable.

Un saludo