web-dev-qa-db-ja.com

バージョン `CXXABI_1.3.8 'が見つかりません(...に必要)

コンパイル後にプログラムを実行すると、次のエラーが表示されます。

./prog:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:バージョンCXXABI_1.3.8' not found (required by ./prog) ./prog: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: versionGLIBCXX_3.4.19 'が見つかりません(./progで必要)./prog:/ usr/lib/x86_64- linux-gnu/libstdc ++。so.6:バージョン `GLIBCXX_3.4.20 'が見つかりません(/home/arman/lib/boost_1_55_0/stage/lib/libboost_serialization.so.1.55.0で必要)

~/lib/boost_1_55_0~/lib/gcc-4.9.0にそれぞれboost 1.55.0とgcc 4.9.0がインストールされており、これが問題を抱えている理由だと推測していますが、どうすればいいかわかりません修正について。

my ~/.profileには次の行が含まれます。

export LD_LIBRARY_PATH =/home/user/lib/boost_1_55_0/stage/lib:$ LD_LIBRARY_PATH

46
quant

GCC 4.9は、システムlibstdc ++よりも新しいC++ ABIバージョンを導入しているため、LD_LIBRARY_PATHにそのパスを追加して、この新しいバージョンのライブラリを使用するようローダーに指示する必要があります。残念ながら、GCC 4.9のインストール用のlibstdc ++がどこにあるのかを直接伝えることはできません。これは、GCCの構成方法によって異なります。したがって、次のスタイルの何かが必要です。

export LD_LIBRARY_PATH=/home/user/lib/gcc-4.9.0/lib:/home/user/lib/boost_1_55_0/stage/lib:$LD_LIBRARY_PATH

実際のパスは異なる場合があることに注意してください(「x86_64-unknown-linux-gnu/4.9.0」などのように、その下にサブディレクトリが隠されている場合があります)。

39
rubenvb