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

[SOLUCIONADO] Curiosidad: compilar y la librería estandar

Estas en el tema de Curiosidad: compilar y la librería estandar en el foro de C/C++ en Foros del Web. Hola amigos un placer de estar de nuevo en este foro. Tengo una duda he hecho un programa de consola en c++ mi IDE es ...
  #1 (permalink)  
Antiguo 22/05/2015, 20:47
 
Fecha de Ingreso: junio-2014
Mensajes: 144
Antigüedad: 10 años, 5 meses
Puntos: 1
Curiosidad: compilar y la librería estandar

Hola amigos un placer de estar de nuevo en este foro.

Tengo una duda he hecho un programa de consola en c++ mi IDE es visual studio 2013, y lo intente ejecutar en otro equipo, en salia un error donde decía que faltaba el archivo MSVCP120.dll, el copiar el dll y ya no es recomendable y leyendo me di cuenta que existen paquetes redistribuibles para c++ que según entiendo son archivos que se instalaran en windows para poder ejecutar cosas de la STL.

La duda que me surge es:

No se supone que una de las ventajas de c++ (con la librería STL) es que puede ejecutarse en cualquier plataforma, procesador, sistema operativo? si es así por qué debo instalar cosas para que mi programa funcione en otro equpio?

saludos y gracias
  #2 (permalink)  
Antiguo 23/05/2015, 03:10
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 2 meses
Puntos: 38
Respuesta: Curiosidad: compilar y la librería estandar

¿No las puedes incorporar de forma estática? Mire a ver por que los programas están según como configures el programa en 2 versiones, una es la Debug que es un modo de depuración de errores, y la otra es la release que es digamos la versión final.
A lo mejor si elijes la release se te incluye estaticamente la librería dentro del mismo ejecutable, si no es así tendrás que hacer algo aparte. Lo mismo acontece con gcc, bien venido al mundo de las librerías XD. Todo son librerías pfff.
  #3 (permalink)  
Antiguo 23/05/2015, 05:51
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 12 años, 5 meses
Puntos: 28
Respuesta: Curiosidad: compilar y la librería estandar

Para ahorrar espacio, se pueden añadir librerías de forma dinámica. No es extraño, sería un malgasto de espacio que cada juego incluye las directx por ejemplo.

Se debe poder añadir de forma estática, pero el compilador de Visual C++ no lo conozco, en mingw se hacía añadiendo un -static a las flags. Prueba a ver...
  #4 (permalink)  
Antiguo 23/05/2015, 07:35
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 2 meses
Puntos: 38
Respuesta: Curiosidad: compilar y la librería estandar

no sera con el comando pragma o algo asi? XD
  #5 (permalink)  
Antiguo 23/05/2015, 09:16
 
Fecha de Ingreso: junio-2014
Mensajes: 144
Antigüedad: 10 años, 5 meses
Puntos: 1
Respuesta: Curiosidad: compilar y la librería estandar

Hola gracias por sus respuestas, sí, estoy con la versión release.

Entonces seguro que hay un comando para incluir dichas librerías estáticas cierto? supongo que eso aumenta el tamaño del exe, pero bueno. Y ya con eso se puede correr en cualquier windows o linux, y cualquier plataforma 32 o 64?

saludos
  #6 (permalink)  
Antiguo 23/05/2015, 14:46
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 12 años, 5 meses
Puntos: 28
Respuesta: Curiosidad: compilar y la librería estandar

Cita:
Iniciado por dmorill Ver Mensaje
Hola gracias por sus respuestas, sí, estoy con la versión release.

Entonces seguro que hay un comando para incluir dichas librerías estáticas cierto? supongo que eso aumenta el tamaño del exe, pero bueno. Y ya con eso se puede correr en cualquier windows o linux, y cualquier plataforma 32 o 64?

saludos
No, el exe de windows no se puede ejecutar en linux.

La ventajas de las STL es a nivel de código no a nivel binario, es decir, que el mismo código se puede compilar para cualquier plataforma.
  #7 (permalink)  
Antiguo 23/05/2015, 15:04
 
Fecha de Ingreso: junio-2014
Mensajes: 144
Antigüedad: 10 años, 5 meses
Puntos: 1
Respuesta: Curiosidad: compilar y la librería estandar

Hola,

No me queda claro una cosa. Me dices que no funcionará en linyx pero luego me dices que al usar la STL se puede compilar para cualquier plataforma?, es decir que si uso un compilador en linux con el mismo cogido (usando STL) se creará un ejecutable para linux que funcione bien cierto?

Cita:
Iniciado por amchacon Ver Mensaje
No, el exe de windows no se puede ejecutar en linux.

La ventajas de las STL es a nivel de código no a nivel binario, es decir, que el mismo código se puede compilar para cualquier plataforma.
  #8 (permalink)  
Antiguo 24/05/2015, 03:51
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 12 años, 5 meses
Puntos: 28
Respuesta: Curiosidad: compilar y la librería estandar

Exactamente eso.

De hecho no solo las STL, cualquier librería multiplataforma permite eso.
  #9 (permalink)  
Antiguo 24/05/2015, 09:46
 
Fecha de Ingreso: junio-2014
Mensajes: 144
Antigüedad: 10 años, 5 meses
Puntos: 1
Respuesta: Curiosidad: compilar y la librería estandar

Gracias a todos, antes de dar por solucionado el tema me gustaría preguntar si alguien sabe que comandos puedo usar en c++ para poner las librerías estáticas? (que según entiendo eso quiere decir que las pone en el ejecutable para poder usarlas en otro equipo jeje)

saludos

Etiquetas: compilar, librerías, stl
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 10:05.