版本`CXXABI_1.3.8'找不到(需要......)

时间:2014-05-06 11:58:07

标签: c++ linux gcc boost gcc4.9

当我在编译后运行程序时,出现以下错误:

  

./ 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: version GLIBCXX_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.0)

我分别在~/lib/boost_1_55_0~/lib/gcc-4.9.0安装了1.55.0和gcc 4.9.0,我猜这就是我遇到问题的原因,但我不确定如何解决它。

我的~/.profile包含以下行:

  

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

1 个答案:

答案 0 :(得分:38)

GCC 4.9引入了比你的系统libstdc ++更新的C ++ ABI版本,因此你需要通过将该路径添加到LD_LIBRARY_PATH来告诉加载器使用这个更新版本的库。不幸的是,我不能直接告诉你libstdc ++对于你的GCC 4.9安装的位置,因为这取决于你如何配置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'或类似)。