Ubuntu 16.04升级gcc 到 gcc7.2.0

最近在跑编译的时候提示:error: cannot convert 'const std::__cxx11::basic_string' to 'const char*'

使用gcc -v查看gcc的版本,发现gcc的版本太低,需要升级gcc的版本。

本来打算使用sudo apt-get upgrade升级,但是使用该命令的时候出现错误:libstdc++.so.6: version `GLIBCXX3.4.22’ not found

提示apt-get也用不了,所以apt-get也使用不了。目前唯一的方法就是从源安装gcc。

(1)下载对应版本的gcc:

wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.2.0/gcc-7.2.0.tar.gz

这是清华大学提供给的镜像,下载速度更快些。

(2)下载好之后进行解压:

tar -zxvf gcc-7.2.0.tar.gz gcc-7.2.0/

解压之后:cd gcc-7.2.0

之后需要下载几个文件直接使用: ./contrib/download_prerequisites

如果连不上网之类的可以手动下载文件,然后拷贝到gcc-7.2.0目录下。

(3)建立新的build文件夹,保证源目录的整洁性

mkdir build 

cd build

然后运行一些配置命令:

 ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

(我也不知道具体啥意思,有兴趣的可以查一下,但是这是针对64bit系统的)

加载成功之后就可以生成Makefile文件了

之后进行make,只有make成功才ok,我在make 的时候遇到了错误

WARNING: 'aclocal-1.14' is missing on your system.
You should only need it if you modified 'acinclude.m4' or
'configure.ac' or m4 files included by 'configure.ac'.

原因是我的系统里没有automake,所以接下来要安装automake

wget http://ftp.gnu.org/gnu/automake/automake-1.14.1.tar.gz下载autoconf安装包

解压缩tar -zxvf automake-1.14.1.tar.gz -C /opt/

cd /opt/automake-1.14.1

输入命令:./bootstrap.sh

配置环境:./configure

配置并安装:make;make install

检查automake --version

automake安装之后重新进入gcc7.2.0下的build目录make,这个过程许需要很长一段时间,我大概用了两三个小时,成功之后进行make install

之后使用gcc -v查看版本检查是否安装成功,就这些啦!!!

 

 

你可能感兴趣的:(Linux)