Linux中出现类似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found错误的解决办法
Linux中出现类似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found错误的解决办法
一、查看gcc所要求的版本
执行:gcc -v
二、提取当前的GLIBC字符串
执行:strings /usr/lib64/libstdc++.so.6 | grep GLIBC
从上面的输出可以发现gcc动态库并没有运行GLIBCX_3.4.14等等,说明gcc动态库需要升级到新的版本。
三、下载gcc-4.8.1(我这里下载的是4.8.1)
执行:wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.1/gcc-4.8.1.tar.gz
四、解压gcc压缩文件
执行:tar -xvzf gcc-4.8.1.tar.gz
五、进入刚刚解压的gcc文件夹
首先执行:cd gcc-4.8.1
其次执行:./contrib/download_prerequisites
六、新建文件夹(我建的文件夹和gcc-4.8.1是在同一级目录)
首先执行:cd …
其次执行:mkdir build_gcc-4.8.1(当然新建文件夹的名字可以根据自己的喜好命名)
七、进入到新建的文件夹
首先执行:cd build_gcc-4.8.1
其次执行:…/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
八、编译、安装gcc
首先执行:make -j4(编译的时间挺长的,你需要耐心等候噢)
其次执行:make install
九、执行升级命令
首先执行:/usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-unknown-linux-gnu-gcc-4.8.1 40
其次执行:/usr/sbin/update-alternatives --install /usr/bin/gcc++ g++ /usr/local/bin/g++ 40
注:如果中间没出错的话,说明gcc已经安装成功,接下来我们就要使用新版本的gcc来代替旧版本的gcc
十、更新到新版本
- 查看gcc新版本安装路径,执行:find / -name “libstdc++.so*”
2.复制上面查到的新的gcc版本所在位置的文件到以下目录,执行:cp /build_gcc-4.8.1/x86_64-unknown-linux-gnu/libstdc+±v3/src/.libs/libstdc++.so.6.0.18 /usr/lib64
3.进入一下文件夹,执行:cd /usr/lib64
4.建立新版本的链接,首先执行:rm -rf libstdc++.so.6,其次执行:ln -s libstdc++.so.6.0.18 libstdc++.so.6
十一、重新查看
所需要的gcc库就已经有了。