GNU/Linux >> Tutoriels Linux >  >> Linux

Lien avec une ancienne version de libstdc++

Vous n'avez pas besoin de créer un lien vers une autre bibliothèque, vous devez utiliser une ancienne version du compilateur.

Jetez un œil à la politique GNU ABI. La bibliothèque partagée libstdc++ est conçue pour être compatible avec les versions ultérieures. C'est à dire. la version 6.0.10 peut être utilisée si vous avez besoin de la version 6.0.8. Dans la politique, vous pouvez lire qu'à partir de gcc-4.2.0, 6.0.9 est nécessaire, vous avez donc besoin d'un gcc-4.1.x.

En bref, c'est pourquoi il n'y a qu'une seule libstdc++.so.6.0.x sur votre système, vous n'avez besoin que de la dernière.

En ce qui concerne la configuration de votre système de construction pour n'utiliser qu'une version spécifique du compilateur :assurez-vous que le g++ standard ne peut pas être utilisé (renommez le lien, supprimez le paquet qui le fournit, retirez-le de PATH) et commencez à creuser. A travaillé pour moi.


Vous pouvez envoyer les bibliothèques partagées requises avec votre propre code (dans un sous-répertoire par exemple) et définir LD_LIBRARY_PATH, en tant que précurseur de l'exécution de votre application, pour d'abord rechercher dans ce répertoire.

L'expédition de la version spécifique dont vous avez besoin signifie que peu importe la version installée par l'utilisateur. Vous devez juste vous assurer que vous expédiez également toutes les dépendances.


Linux
  1. Bloquer les mises à jour du noyau avec Dpkg ?

  2. dynamic_cast échoue lorsqu'il est utilisé avec dlopen/dlsym

  3. Comment puis-je créer un lien vers une version spécifique de glibc ?

  4. Liaison avec une version de symbole plus ancienne dans un fichier .so

  5. Comment lier la bibliothèque d'exécution C avec 'ld' ?

Comment utiliser la commande IP sous Linux avec des exemples

Transition des abonnements d'une ancienne version de Plesk vers Plesk 12

Expliquer Soft Link et Hard Link sous Linux avec des exemples

Comment vérifier la version du système d'exploitation avec la ligne de commande Linux

erreur de mise à jour apt avec la version cosmique d'ubuntu 18.10

Comment surveiller le "https" distant avec Icinga version 2 ?