我最近在CentOS上将我的gcc版本从4.7更新到5.4,但是现在我编译程序时出现以下错误
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
我找到了一些solutions,但我仍然无法解决问题。这些是我在whereis gcc
gcc: /usr/bin/gcc /usr/lib/gcc /usr/local/bin/gcc /usr/local/lib/gcc /usr/libexec/gcc /usr/share/man/man1/gcc.1.gz
并将此libstdc包用于CentOS。
答案 0 :(得分:16)
尝试export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib64:/usr/lib64
答案 1 :(得分:1)
我没有对CentOS计算机的sudo访问权限,因此我在conda上安装了gcc。如果您使用conda安装了gcc,则以上答案将无效。 检查您的gcc安装路径为:
$ which gcc
输出:
/home/ags/miniconda3/envs/GE/bin/gcc
这表明gcc已安装在GE
的conda环境中,现在将LD_LIBRARY_PATH导出为该环境的lib
目录的路径。
export LD_LIBRARY_PATH=/home/ags/miniconda3/envs/GE/lib:$LD_LIBRARY_PATH
希望这会有所帮助。
答案 2 :(得分:1)
也许对某人有帮助: 我安装了devtoolset-7,但是没有GLIBCXX_3.4.21,最大版本是GLIBCXX_3.4.19。很久以来我一直在寻找解决方案。对我有用的东西:我克隆了gcc 7.3 repo,进行了构建和安装。然后将libstdc ++。so.6和libstdc ++。so.6.0.24复制到devtools-7,lib64文件夹,即可使用。
答案 3 :(得分:0)
找到您的 gcc 安装位置并更新 LD_LIBRARY_PATH
例如