报错解决:ninja: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ninja)

这个报错是因为手动编译安装gcc/g++后没有更新头文件,解决方法有2个。
一个是临时的解决方案:

export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH

然后就会在/usr/local/lib64下找到需要的libstdc++.so文件。
另一种解决方案参考这篇博客:解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21’ not found 的问题 - IT笔录
解决过程:

root@:~# ls -l /lib64/libstdc++.so.6
lrwxrwxrwx 1 root root 19 Jul 15 20:17 /lib64/libstdc++.so.6 -> libstdc++.so.6.0.19
root@:~# ls -l /lib64/libstdc++.so* 
lrwxrwxrwx 1 root root     18 May  9  2018 /lib64/libstdc++.so.5 -> libstdc++.so.5.0.7
-rwxr-xr-x 1 root root 830776 Mar  6  2015 /lib64/libstdc++.so.5.0.7
lrwxrwxrwx 1 root root     19 Jul 15 20:17 /lib64/libstdc++.so.6 -> libstdc++.so.6.0.19
-rwxr-xr-x 1 root root 999944 Jun  7  2018 /lib64/libstdc++.so.6.0.19
root@:~# ninja 
ninja: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ninja)
ninja: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ninja)
root@:/usr/lib64# ls -l libstdc++.so.6
lrwxrwxrwx 1 root root 19 Jul 15 20:17 libstdc++.so.6 -> libstdc++.so.6.0.19
root@:/usr/lib64# ln -sf libstdc++.so.6.0.25 libstdc++.so.6
root@:/usr/lib64# ls -l libstdc++.so.6
lrwxrwxrwx 1 root root 19 Jul 16 17:40 libstdc++.so.6 -> libstdc++.so.6.0.25
root@:~# ninja --version
1.9.0
root@:~# strings /usr/lib64/libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.14
GLIBC_2.16
GLIBC_2.17
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH

你可能感兴趣的:(c++,linux,行走的问题解决机)