Error en la aplicación Zedboard Linux Socket

1

Después de crear la imagen de inicio de Linux desde el tutorial para el zedboard, intenté crear una aplicación de socket para hablar con la computadora. Zedboard sería el servidor y el programa en Visual Studio sería el cliente. Cuando intento ejecutar el programa desde el símbolo del sistema de Linux, aparece "error al cargar bibliotecas compartidas: libstdc ++. So.6: no puedo abrir el archivo de objeto compartido: no existe ese archivo o directorio". Cuando ejecuté un programa hola mundo desde la tarjeta SD en el Zedboard, no me dio este error y funcionó bien. ¿Podría esto ser una causa de los incluidos que estoy usando? Tanto el cliente como el servidor fueron escritos en C ++.

    
pregunta ivp17

1 respuesta

0

No es la línea de comandos de inclusión sino la de enlace. Si tienes una dependencia de libstdc ++. Entonces, entonces probablemente hay un -lstdc ++ allí.

Primero, debes verificar si esa biblioteca es realmente necesaria, así que elimina esa opción del comando de enlace. Si todavía puedes vincular el programa, el problema está resuelto. Si no, entonces realmente lo necesitas y debes devolverlo.

En ese caso, necesitas averiguar si hay alguna versión de ese .so en tu sistema. En general, su programa depende del nombre no versionado (libstdc ++. So), y en su directorio / lib o / usr / lib hay enlaces simbólicos que apuntan a la versión real que tiene el sistema (en su caso, aparentemente, libstdc ++. .6). Este puede ser otro enlace simbólico a una versión más específica (por ejemplo, libstdc ++. So.6.1) o la biblioteca dinámica real. Así que tienes que seguir ese camino y descubrir dónde está roto, si la biblioteca existe.

Y si no lo hace, debes instalarlo de alguna manera (generalmente con el administrador de paquetes de tu sistema operativo)

    
respondido por el fceconel

Lea otras preguntas en las etiquetas