Parece que está usando la biblioteca estándar como una biblioteca compartida (comportamiento predeterminado) al vincular su programa en casa.
De modo que en lugar de realmente "vincular" la biblioteca, el vinculador simplemente resuelve algunos símbolos y realiza otra operación, mientras que retrasa la carga real de la biblioteca en tiempo de ejecución.
Cuando ejecuta su programa en la computadora de su universidad, el cargador (el programa que realmente carga su programa en la memoria y arroja el hilo principal) busca las bibliotecas que su programa necesita e intenta cargarlas (busque LD_LIBRARY_PATH
en Linux si sientes curiosidad).
El problema aquí es que está vinculando su programa en el hogar con una versión de stdlib que no es la misma versión que la que tiene en la universidad. Entonces, cuando el cargador intenta encontrar la biblioteca, falla, y entonces su programa no se puede ejecutar.
Soluciones:
a) Para evitar todos estos problemas utilizan estática que une en lugar de enlace dinámico. No estoy seguro de si esto es posible con stdlib, pero creo que vale la pena probarlo (vea: http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html y busque el indicador "-estático")
b) Puede intentar compilar su programa en la computadora de su universidad entonces usará la versión allí.
c) Intente saber qué versión de stdlib está instalada allí e instale la misma versión en su compilador.
d) Puede intentar copiar la versión de su casa de stdlib a la misma carpeta que su aplicación.Esto generalmente funciona porque el cargador tiende a buscar bibliotecas compartidas en la carpeta de la aplicación actual antes de buscar en la ruta establecida en la variable de entorno LD_LIBRARY_PATH
(linux)
Espero que ayude.
P.S .: Aquí tienes una buena introducción a la electricidad estática vs compartidos bibliotecas/dinámicos http://www.network-theory.co.uk/docs/gccintro/gccintro_25.html
y aquí (http://en.wikipedia.org/wiki/Library_%28computing%29) un no tan agradable, pero más completa descripción de la biblioteca.
¿Cuál es la versión de libstdC++ en la universidad? – phoxis
@phoxis, 3.4.8 o anterior, parece. – bdonlan