解决gcc/g++ 编译 CXXABI_1.3.9、GLIBCXX_3.4.26、GLIBCXX_3.4.21 not found 错误问题

运行程序时显示:

./app_dev: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./app_dev)
./app_dev: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by ./app_dev)
./app_dev: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./app_dev)

原因:
手动升级gcc后,未更新动态库的版本

解决方案:

  1. 查看动态库版本
    strings /usr/lib64/libstdc++.so.6 | grep 'CXXABI'
    解决gcc/g++ 编译 CXXABI_1.3.9、GLIBCXX_3.4.26、GLIBCXX_3.4.21 not found 错误问题_第1张图片
    (这里显示的有 1.3.9的版本,是因为我已经完成了后面的操作后才截的图。)

  2. 查找gcc生成的最新动态库
    find / -name "libstdc++.so"
    解决gcc/g++ 编译 CXXABI_1.3.9、GLIBCXX_3.4.26、GLIBCXX_3.4.21 not found 错误问题_第2张图片

  3. 替换最新动态库

cp /opt/soft/gcc-10.1.0/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so /usr/lib64/libstdc++.so.6.0.28

ln -s libstdc++.so.6.0.28 libstdc++.so.6

OK.

你可能感兴趣的:(C/C++)