https://blog.csdn.net/mandiheyanyu/article/details/118995670
https://blog.csdn.net/weixin_43663238/article/details/126967596
centos7直接yum安装的那个gcc版本为4.8.5,对于大多数的需求来说都是低了。系统安装镜像里的那个版本也是4.8.5。
现在最新的版本可能到9了,9.2 9.3的安装教程我在网上都搜到过,但是似乎9的版本都需要make和make install?编译时间得小半天吧,有时候还会有各种奇怪的报错。所以要求不是特别严格的话可以看看8.3.1版本,我不是很清楚它和这种费时巨大的在使用的时候会不会缺胳膊少腿的,但是我目前用着还行。
安装devtoolset-8
sudo yum install centos-release-scl
sudo yum install devtoolset-8
scl enable devtoolset-8 bash
source /opt/rh/devtoolset-8/enable
修改gcc软链接
上面的修改后的gcc只对当前bash有效,要想永久生效需要修改gcc软链接到安装的devtoolset-8,后边执行mv命令的时候如果报错不用太过惊慌,这几句是用来替换掉直接安装的4.8.5版本的,但是没安装4.8.5软链接建立的命令也还是要执行的。
mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
mv /usr/bin/c++ /usr/bin/c++-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/c++ /usr/bin/c++
查看修改后的版本
可以查看一下版本看看了
gcc --version
g++ --version
c++ --version
错误处理
如过在使用时出现如/usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8’ not found这样的报错
拷入libstdc++.so.6.0.26在/usr/lib64下
mv libstdc++.so.6.0.26 /usr/lib64
cd /usr/lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.26 libstdc++.so.6
libstdc++.so.6.0.26放到百度网盘里了
链接:https://pan.baidu.com/s/1kba2_iWTxQrKAaQB60r2vg
提取码:29i1
==================================================
再放两个我之前用过的比较费时的9.2版本安装教程
https://blog.csdn.net/weixin_30994847/article/details/112821626
https://blog.csdn.net/RyanFang/article/details/100927373
如果安装的时候显示g++显示没有可用的包
sudo yum install gcc-c++
ubuntu16.04安装gcc-8 g++8.0
https://blog.csdn.net/dream_for_/article/details/117201988
GCC 命令行详解 -L 指定库的路径 -l 指定需连接的库名
https://blog.csdn.net/abc5382334/article/details/45049735
嵌入式Linux文件IO,GCC编译流程及参数分析,静态库创建和使用,ar crs libhello.a hello.o创建静态库,nm查看静态库中符号信息
https://blog.csdn.net/m0_37542524/article/details/83754738