gcc版本过低
根据开发需求,要最新的,所以我下的11.1.0
到这个网址下载gcc版本http://ftp.gnu.org/gnu/gcc
我是直接下载到我电脑,然后再丢到目标服务上的,也可以直接在目标服务器wget下载
放好之后解压:tar -zxf gcc-11.1.0.tar.gz
然后进入目录:cd gcc-11.1.0.tar.gz
执行:./contrib/download_prerequisites
这个脚本会下载编译所需要的依赖包,算是比较方便
这一步可以直接./configure ,但是为了方便管理,在当前目录又创建了一个目录gcc-11.1
mkdir gcc-11.1
cd gcc-11.1
生成编译文件:
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
参数:–enable-languages表示你要让你的gcc支持那些语言,–disable-multilib不生成编译为其他平台可执行代码的交叉编译器。–disable-checking生成的编译器在编译过程中不做额外检查,也可以使用*–enable-checking=xxx*来增加一些检查
然后开始编译
make -j8
因为编译量比较大,服务器是16核的,所以我使用了8线程,这个根据自己服务器配置来设置
make install
编译完成后:gcc -v和g++ -v验证版本
不错gcc还是4.8.5版本,但g++是11.1.0了
然后which gcc 显示gcc路径是在/usr/local/bin/gcc
进入/usr/bin/
把之前的gcc备份,再把新的做了一个软链接
mv gcc gcc.back
ln -s /usr/local/bin/gcc /usr/bin/gcc
再执行gcc -v 显示就是11.1.0版本了
参考链接:https://blog.csdn.net/weixin_42090356/article/details/90678158