一尘不染

找不到版本“ CXXABI_1.3.8”(…必需)

linux

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

./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要求)

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

~/.profile包含以下行:

导出LD_LIBRARY_PATH = / home / user / lib / boost_1_55_0 / stage / lib:$
LD_LIBRARY_PATH


阅读 701

收藏
2020-06-02

共1个答案

一尘不染

GCC 4.9引入了比系统libstdc 更高的CABI版本,因此您需要通过将该路径添加到来告知加载程序使用该库的该更高版本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”或类似名称)。

2020-06-02