Ubuntu 16.04升级gcc 到 gcc7.2.0

2024-08-23 14:18
文章标签 ubuntu 升级 gcc 16.04 gcc7.2

本文主要是介绍Ubuntu 16.04升级gcc 到 gcc7.2.0,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引用说明:https://blog.csdn.net/xiaomayi1994/article/details/105325872
在此基础上进行加工修改

最近在跑编译的时候提示: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目录下。
如:

1、解压mpfr

cp mpfr-3.1.4.tar.bz2 ./gcc-7.2.0
cd ./gcc-7.2.0 && tar -xvjf mpfr-3.1.4.tar.bz2
ln -s ./mpfr-3.1.4 mpfr

2、解压mpc

cp mpc-1.0.3.tar.gz ./gcc-7.2.0
cd ./gcc-7.2.0 && tar -zxvf mpc-1.0.3.tar.gz
ln -s ./mpc-1.0.3 mpc

3、解压

cp gmp-6.1.0.tar.bz2 ./gcc-7.2.0
cd ./gcc-7.2.0 && tar -xvjf gmp-6.1.0.tar.bz2
ln -s ./gmp-6.1.0.tar.bz2 gmp

(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查看版本检查是否安装成功,就这些啦!!!

最后可能还需要进行 系统的软连接才可以真正使用gcc7
1、替换旧的 gcc
假设7.2.0 安装完毕后会生成 /usr/local/bin/x86_64-pc-linux-gnu-gcc-7.2.0

update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-pc-linux-gnu-gcc-7.2.0 40
# 倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级
mv /usr/bin/gcc /usr/bin/gcc.bak # 将原本的gcc重命名(删除亦可)
ln -s /usr/local/bin/x86_64-pc-linux-gnu-gcc-7.2.0 /usr/bin/gcc  # 使用gcc7.1版本

2、替换旧的g++

# 倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级
mv /usr/bin/g++ /usr/bin/g++.bak # 将原本的gcc重命名(删除亦可)
ln -s /usr/local/bin/x86_64-pc-linux-gnu-g++  /usr/bin/g++  # 使用gcc7.1版本

这篇关于Ubuntu 16.04升级gcc 到 gcc7.2.0的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1099618

相关文章

升级至三频BE12000! 华硕ROG魔盒Pro路由器首发拆解评测

《升级至三频BE12000!华硕ROG魔盒Pro路由器首发拆解评测》华硕前两天推出新一代电竞无线路由器——ROG魔盒Pro(StrixGR7Pro),该产品在无线规格、硬件配置及功能设计上实现全... 作为路由器行业的T1梯队厂商,华硕近期发布了新旗舰华硕ROG魔盒Pro,除了保留DIY属性以外,高达120

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

Python包管理工具pip的升级指南

《Python包管理工具pip的升级指南》本文全面探讨Python包管理工具pip的升级策略,从基础升级方法到高级技巧,涵盖不同操作系统环境下的最佳实践,我们将深入分析pip的工作原理,介绍多种升级方... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Ubuntu如何分配​​未使用的空间

《Ubuntu如何分配​​未使用的空间》Ubuntu磁盘空间不足,实际未分配空间8.2G因LVM卷组名称格式差异(双破折号误写)导致无法扩展,确认正确卷组名后,使用lvextend和resize2fs... 目录1:原因2:操作3:报错5:解决问题:确认卷组名称​6:再次操作7:验证扩展是否成功8:问题已解

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题

《Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题》:本文主要介绍Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录一、前言二、系统架构检测三、卸载旧版 Go四、下载并安装正确版本五、配置环境变量六、验证安装七、常见