未找到版本“CXXABI_1.3.8"(...需要) [英] version `CXXABI_1.3.8' not found (required by ...)

查看:35
本文介绍了未找到版本“CXXABI_1.3.8"(...需要)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

When I run my program following a compile, I get the following error:

./prog:/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version CXXABI_1.3.8' not found(./prog 需要)./prog:/usr/lib/x86_64-linux-gnu/libstdc++.so.6: versionGLIBCXX_3.4.19' not found (./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)

./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: versionGLIBCXX_3.4.19' not found (required by ./prog) ./prog: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /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,并且我我猜这就是我遇到问题的原因,但我不确定如何解决它.

I have both boost 1.55.0 and gcc 4.9.0 installed in ~/lib/boost_1_55_0 and ~/lib/gcc-4.9.0 respectively, and I'm guessing this is why I'm having problems, but I'm unsure about how to go about fixing it.

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

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

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

推荐答案

GCC 4.9 引入了比系统 libstdc++ 更新的 C++ ABI 版本,因此您需要通过添加该路径来告诉加载程序使用此更新版本的库到 LD_LIBRARY_PATH.不幸的是,我不能直接告诉你 libstdc++ 的位置,所以你的 GCC 4.9 安装位置,因为这取决于你如何配置 GCC.所以你需要以下风格的东西:

GCC 4.9 introduces a newer C++ ABI version than your system libstdc++ has, so you need to tell the loader to use this newer version of the library by adding that path to LD_LIBRARY_PATH. Unfortunately, I cannot tell you straight off where the libstdc++ so for your GCC 4.9 installation is located, as this depends on how you configured GCC. So you need something in the style of:

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´或类似的).

Note the actual path may be different (there might be some subdirectory hidden under there, like `x86_64-unknown-linux-gnu/4.9.0´ or similar).

这篇关于未找到版本“CXXABI_1.3.8"(...需要)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆