新装的Ubuntu系统是不带gcc编译器的,所以呢,就需要自己去装,安装这个兆闭很简单,只需要两条指令就够了,另外每次输入指令之后都需要输入用户密码。
安装了Ubuntu 20.04之后,通过命令行
sudo apt-get install build-essential
安装gcc,再通过命令行
gcc -v
可查看gcc版本为gcc9
如果想用低版本的gcc,比如gcc5,尝试输入命令
sudo apt-get install gcc-5
会提示找不到gcc5的安装包
那么就需要添加较低版本的源
网上搜索得到gcc5对应的Ubuntu版本为16,接下来就对Ubuntu20.04的源文件source.list进行编辑,增加Ubuntu16的源
通过命令用gedit编辑器(也选择其他编辑器,如vim,mousepad等)打开source.list文件,
sudo gedit /etc/apt/sources.list
在文件尾部增加Ubuntu16的源,我使用的是阿里云的源
deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
保存文孝备件后,输入命令,更新源
sudo apt-get update
然后输入命令,查看gcc5可选的版本
apt-cache policy gcc-5
选择其中一个版本进行安装
sudo apt-get install gcc-5=5.4.0-6ubuntu1~16.04.12
g++5的安装是类似的步骤
sudo apt install g++-5
然后查看gcc版本
gcc -v
发现版本还是gcc9
通过命令查询本机gcc已安装的版本
ls /usr/bin/gcc*
可以看到有gcc9和gcc5
这个时候需要管理多版本的gcc,使我们想要的gcc5成为默认版本
输入命令
根据提示,选桥滑择gcc-5对应的编号巧消毁1 回车即可
最后gcc -v查看默认gcc版本,应当已经切换为gcc5
如果要对g++的多版本进行管理,只需将上面命令行中的gcc替换为g++
链接: https://www.jianshu.com/p/e823f89787d6
因为 seastar 最新版要求 gcc>8.0 版本,所以需要源岩让谈码安装 gcc 8.2.0
默认是安装到 /usr/local/bin 目录下,指定目录 --prefix=/usr/local/gcc
然后输入 gcc -v ,会看到:
如果通过 源码 升级了gcc,没有升级动态库则在运行或者编译某些软件时有可能粗碰出现 /usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found 的错误。
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC
如果老版本的 gcc 如5.4等,可能是没有这么多的动态库信息。
运行:`find / -name "libstdc++.so*"`
我的系统因为之前通过命令行安装过 gcc 7.1 版本,因为能查找到比较多的动态库滑陪文件,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)