Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: SrCooper en 12 Enero 2015, 21:01 pm



Título: Cambiar la versión por defecto de una librería estática al ejectuar un programa
Publicado por: SrCooper en 12 Enero 2015, 21:01 pm
Buenos días a todos. Este fin de semana he estado trabajando en un pequeño proyecto de programación, un juego, en C++ utilizando la librería SFML.

El caso es que me gustaría poder ejectuar el juego en un ordenador de mi instituto, que es un ordenador un poco antiguo y que no tiene todas las librerías de C++ a la última versión (es una distro linux basada en ubuntu). No puedo instalar ni cambiar nada, pues evidentemente no me dejan  :xD

Así pues lo que hice fue compilar el proyecto e introducir con el ejecutable todas las librerías que se pudiesen necesitar (omito las que son requeridas por SFML, pues son irrelevantes). Es decir:
Código:
libc.so.6
ld-linux.so.2
ligcgmanager.so.0
libstdc++.so.6
libudev.so.1

Estas son las librerías que encontré en mi sistema, en el cual estoy utilizando gcc en su versión 4.9. El problema es que la máquina de mi instituto no tiene instaladas, como ya dije, las mismas versiones de estas librerías y por lo tanto me gustaría que el ejecutable usase las que yo pongo al lado y no las que hay en el sistema.

El error que aparece es este:
Código:
relocation error: ./(directorio del ejecutable)/libc.so.6: symbol _dl_find_dso_for_object, version GLIBC_PRIVATE not defined in file ld-linux.so.2 with link time reference

Un saludo y muchas gracias de antemano

EDITO: La máquina puede ejecutar juegos que no requieran mucha potencia, por lo que ese no es el problema