linux手机更新 gcc g++ 版本

本文档介绍了如何在Ubuntu 16.04至22.04版本中升级GCC和CMake到最新版本。GCC从8版本开始支持C++20,通过添加PPA源并更新安装即可。同时,针对C++20的实验性支持,你可以使用-std=c++20标志。此外,还提供了卸载、重新安装和挂载系统的命令,确保升级过程顺利。

同样适用于云课。

命令如下:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update

例如gcc6

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-snapshot
sudo apt-get install gcc-6 g++-6

默认版本如下:

gcc --version

5.4 版本太老了。

sudo apt install build-essential

和默认cmake一样老……

linux手机更新cmake版本 

GCC 中的 C++20 支持
GCC 对 2020 年发布的 C++ 标准的最新版本具有实验性支持。

从 GCC 8 开始提供 C++20 功能。要启用 C++20 支持,请将命令行参数 -std=c++20(在 GCC 9 及更早版本中使用 -std=c++2a)添加到您的 g++ 命令行。 或者,要启用除 C++20 功能之外的 GNU 扩展,请添加 -std=gnu++20。

重要提示:因为 ISO C++20 标准是最新的,所以 GCC 的支持是实验性的。

C++20 语言特性
下表列出了已被 C++20 工作草案接受的新语言特性。 “提案”栏提供了一个指向描述该功能的 ISO C++ 委员会提案的链接,而“在 GCC 中可用?” 列表示包含此功能实现的第一个 GCC 版本(如果已实现)。

补充小知识:

 

博客涉及的ubuntu版本从16.04-22.04

 

ubuntu 22.04的cmake和g++版本

 


apt remove --purge 

sudo mount -o remount,rw / 


升级后:


-^_^-


 

<think>我们正在使用中文回答问题,然后需要提出3-5个相关问题,并在最后以“§§相关问题§§”开头,然后列出问题。 问题:linux怎么升级GCC/G++版本 回答步骤: 1. 首先,回答如何升级GCC/G++版本。在Linux上,升级GCC/G++通常有几种方法:使用包管理器(如apt、yum)安装新版,或者从源代码编译安装。 2. 由于不同发行版方法略有不同,我们可以给出两种常见的方法:Ubuntu/Debian系和CentOS/RHEL系,以及从源代码安装的方法(通用但较复杂)。 注意:我们不需要过于详细,但需要给出关键步骤。 回答内容: 在Linux系统中升级GCC/G++版本,常用的方法有通过包管理器安装新版本或从源代码编译安装。以下是几种常见方法: 方法一:使用包管理器(以Ubuntu为例) 1. 添加包含较新GCC版本的PPA(个人软件包存档): sudo add-apt-repository ppa:ubuntu-toolchain-r/test 2. 更新软件包列表: sudo apt update 3. 安装所需版本GCCG++(例如gcc-11和g++-11): sudo apt install gcc-11 g++-11 4. 安装完成后,可以使用update-alternatives设置默认版本: sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 60 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 60 然后通过以下命令切换: sudo update-alternatives --config gcc sudo update-alternatives --config g++ 方法二:从源代码编译安装(适用于所有Linux发行版,但步骤较复杂) 1. 下载源代码:从GCC镜像站点(如https://gcc.gnu.org/mirrors.html)下载所需版本的源代码(如gcc-11.2.0.tar.gz)。 2. 解压并进入目录: tar -xf gcc-11.2.0.tar.gz cd gcc-11.2.0 3. 下载依赖包: ./contrib/download_prerequisites 4. 创建构建目录并进入(建议不在源码目录内构建): mkdir build && cd build 5. 配置:../configure --prefix=/usr/local/gcc-11.2.0 --enable-languages=c,c++ --disable-multilib 6. 编译:make -j$(nproc) (注意:编译过程耗时较长) 7. 安装:sudo make install 8. 将新安装的GCC添加到环境变量(例如,在~/.bashrc中添加): export PATH=/usr/local/gcc-11.2.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/gcc-11.2.0/lib64:$LD_LIBRARY_PATH 9. 使环境变量生效:source ~/.bashrc 注意:升级后,可以通过`gcc --version`或`g++ --version`检查版本。 在回答结束后,必须提出3-5个相关问题,以“§§相关问题§§”开头,然后列出问题。 相关问题应该围绕GCC升级的主题,例如: 1. 如何验证新安装的GCC版本是否生效? 2. 升级GCC后,如何恢复为旧版本? 3. 升级GCC时遇到依赖问题如何解决? 4. 为什么需要升级GCC版本? 5. 升级GCC后,编译程序时出现兼容性问题怎么办? 我们选择其中3-5个即可。 注意格式:第一行必须是“§§相关问题§§”,然后紧接着是问题列表(用数字序号点,每个问题一行)。 因此,最终回答结构: 1. 回答正文 2. 一行“§§相关问题§§” 3. 然后列出相关问题(每个问题一行,前面有序号) </think>### 在Linux中升级GCC/G++版本的方法 升级GCC/G++主要有两种方式,具体操作如下: #### 方法1:通过包管理器安装(推荐) **适用系统:Ubuntu/Debian** ```bash # 添加官方工具链PPA sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test sudo apt update # 安装指定版本(如GCC-13) sudo apt install -y gcc-13 g++-13 # 设置默认版本 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100 # 验证版本 gcc --version g++ --version ``` **适用系统:CentOS/RHEL** ```bash # 启用SCL仓库(以GCC-11为例) sudo yum install -y centos-release-scl sudo yum install -y devtoolset-11-gcc devtoolset-11-gcc-c++ # 临时启用新版本 scl enable devtoolset-11 bash # 永久启用(在~/.bashrc中添加) echo "source /opt/rh/devtoolset-11/enable" >> ~/.bashrc ``` #### 方法2:源码编译安装(通用但复杂) ```bash # 1. 下载源码(替换版本号) wget https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.gz tar xf gcc-13.2.0.tar.gz && cd gcc-13.2.0 # 2. 下载依赖 ./contrib/download_prerequisites # 3. 配置编译选项 mkdir build && cd build ../configure --prefix=/usr/local/gcc-13.2.0 --enable-languages=c,c++ --disable-multilib # 4. 编译安装(约1-2小时) make -j$(nproc) sudo make install # 5. 添加到环境变量 echo 'export PATH=/usr/local/gcc-13.2.0/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/gcc-13.2.0/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc ``` #### ⚠️ 注意事项 1. 生产环境推荐使用包管理器安装,避免环境冲突 2. 编译安装需确保磁盘空间 >15GB 3. 切换版本后建议重启终端 4. 使用`ldd --version`验证GLIBC兼容性
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangrelay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值