Lorsque j'exécute mon programme après une compilation, le message d'erreur suivant s'affiche:
./prog: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version
CXXABI_1.3.8' not found (required by ./prog) ./prog: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version
GLIBCXX_3.4.19 'introuvable (requis par ./prog) ./prog:/usr/lib/x86_64-linux-gnu/libstdc ++. so.6: la version `GLIBCXX_3.4.20 'n'a pas été trouvée (requise par /home/arman/lib/boost_1_55_0/stage/lib/libboost_serialization.so.1.55.0)
J'ai les deux boost 1.55.0 et 4.9.0 gcc installés dans ~/lib/boost_1_55_0
et ~/lib/gcc-4.9.0
respectivement, et j’imagine que c’est la raison pour laquelle j’ai des problèmes, mais je ne sais pas comment y remédier.
mon ~/.profile
contient la ligne suivante:
export LD_LIBRARY_PATH =/home/utilisateur/lib/boost_1_55_0/stage/lib: $ LD_LIBRARY_PATH
GCC 4.9 introduit une version ABI C++ plus récente que celle de votre système, libstdc ++. Vous devez donc indiquer au chargeur d’utiliser cette version plus récente de la bibliothèque en ajoutant ce chemin à LD_LIBRARY_PATH
. Malheureusement, je ne peux pas vous dire directement où se trouve libstdc ++, donc pour votre installation de GCC 4.9, car cela dépend de la façon dont vous avez configuré GCC. Donc, vous avez besoin de quelque chose dans le style de:
export LD_LIBRARY_PATH=/home/user/lib/gcc-4.9.0/lib:/home/user/lib/boost_1_55_0/stage/lib:$LD_LIBRARY_PATH
Notez que le chemin réel peut être différent (il pourrait y avoir un sous-répertoire caché dessous, comme `x86_64-unknown-linux-gnu/4.9.0´ ou similaire).