GNU/Linux >> Tutoriales Linux >  >> Linux

Enlace con una versión anterior de libstdc++

No necesita vincular a una biblioteca diferente, necesita usar una versión anterior del compilador.

Eche un vistazo a la política GNU ABI. La biblioteca compartida libstdc++ está diseñada para ser compatible con versiones anteriores. Es decir. la versión 6.0.10 se puede usar si necesita 6.0.8. En la política, puede leer que desde gcc-4.2.0 en adelante, se necesita 6.0.9, por lo que necesita un gcc-4.1.x.

En resumen, es por eso que solo hay una libstdc++.so.6.0.x en su sistema, solo necesita la última.

En cuanto a configurar su sistema de compilación para usar solo una versión específica del compilador:asegúrese de que no se pueda usar el g ++ estándar (cambie el nombre del enlace, elimine el paquete que lo proporciona, sáquelo de PATH) y comience a cavar. Funcionó para mí.


Puede enviar las bibliotecas compartidas requeridas con su propio código (en un subdirectorio, por ejemplo) y configurar LD_LIBRARY_PATH, como un precursor para ejecutar su aplicación, para buscar primero en ese directorio.

Enviar la versión específica que necesita significará que no importará qué versión haya instalado el usuario. Solo tiene que asegurarse de enviar todas las dependencias también.


Linux
  1. Excepción de fallo de enlace de comunicaciones:WSO2 con MySQL [Fijar]

  2. ¿Utiliza una versión anterior de Libreoffice?

  3. dynamic_cast falla cuando se usa con dlopen/dlsym

  4. ¿Cómo puedo vincular a una versión específica de glibc?

  5. Vinculación con una versión de símbolo anterior en un archivo .so

Cómo usar el comando IP en Linux con ejemplos

Transición de suscripciones de una versión anterior de Plesk a Plesk 12

Explicación de Soft Link y Hard Link en Linux con ejemplos

Cómo comprobar la versión del sistema operativo con la línea de comandos de Linux

error de actualización de apt con ubuntu 18.10 versión cósmica

¿Cómo monitorear "https" remoto con Icinga versión 2?