未找到版本“CXXABI_1.3.8"(...需要) [英] version `CXXABI_1.3.8' not found (required by ...)
问题描述
当我在编译后运行我的程序时,出现以下错误:
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: version
GLIBCXX_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: version
GLIBCXX_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屋!