Wenn ich mein Programm nach einer Kompilierung ausführe, wird folgende Fehlermeldung angezeigt:
./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 'nicht gefunden (erforderlich für ./prog) ./prog:/usr/lib/x86_64-linux-gnu/libstdc ++. so.6: Version `GLIBCXX_3.4.20 'nicht gefunden (erforderlich für /home/arman/lib/boost_1_55_0/stage/lib/libboost_serialization.so.1.55.0)
Ich habe sowohl Boost 1.55.0 als auch Gcc 4.9.0 in ~/lib/boost_1_55_0
Bzw. ~/lib/gcc-4.9.0
Installiert, und ich vermute, aus diesem Grund habe ich Probleme, bin mir aber nicht sicher, wie um es zu reparieren.
mein ~/.profile
enthält die folgende Zeile:
exportieren Sie LD_LIBRARY_PATH =/home/user/lib/boost_1_55_0/stage/lib: $ LD_LIBRARY_PATH
GCC 4.9 führt eine neuere C++ ABI-Version als Ihr System libstdc ++ ein. Sie müssen daher den Loader anweisen, diese neuere Version der Bibliothek zu verwenden, indem Sie diesen Pfad zu LD_LIBRARY_PATH
Hinzufügen. Leider kann ich Ihnen nicht direkt sagen, wo sich libstdc ++ für Ihre GCC 4.9-Installation befindet, da dies davon abhängt, wie Sie GCC konfiguriert haben. Sie brauchen also etwas im Stil von:
export LD_LIBRARY_PATH=/home/user/lib/gcc-4.9.0/lib:/home/user/lib/boost_1_55_0/stage/lib:$LD_LIBRARY_PATH
Beachten Sie, dass der tatsächliche Pfad unterschiedlich sein kann (möglicherweise ist ein Unterverzeichnis darunter versteckt, wie z. B. `x86_64-unknown-linux-gnu/4.9.0´ oder ähnliches).