---
title: "Ubuntu下升级gcc跟g++"
url: "https://yjyj.net/learn/4609.html"
author: "小 虾 (生猛大蝦编辑部)"
published_at: "2014-04-19T19:29:52+08:00"
updated_at: "2014-04-19T19:44:52+08:00"
categories: "招数学习"
tags: "Debian系统, gcc, Linux运维, 升级, 极客开源资源"
summary: "本文讲解在 Ubuntu 下升级 gcc 和 g++ 的实操方法，解决 TrinityCore 等程序对较新编译器版本的依赖问题。内容包含添加源、安装指定版本、切换默认 gcc/g++ 以及常见报错处理，适合需要快速完成编译环境升级的 Linux 运维用户。"
source: "生猛大蝦 (https://yjyj.net)"
---

# Ubuntu下升级gcc跟g++

> 来源：[生猛大蝦 (yjyj.net)](https://yjyj.net/learn/4609.html) · 作者：小 虾 · 发布时间：2014-04-19

## 30 秒核心看点 (TL;DR)

- 先添加工具链源，再安装 gcc-4.8 和 g++-4.8，避免系统默认版本过旧。
- 用 update-alternatives 重新绑定 gcc/g++ 默认指向，切换后再确认版本。
- 若提示 add-apt-repository 找不到，先装 python-software-properties，再继续升级。

好吧,TrinityCore需要4.72版本的gcc做支撑.哥的是4.6.
只好再给它生个级了.次奥啊
装个TrinityCore,基本上要把哥服务器都给升级个遍了马蛋

干脆给他装个4.8版本的!

过程如下:
 

```
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo update-alternatives --remove-all gcc 
sudo update-alternatives --remove-all g++
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
 
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade
```

 

如果安装时出现: 

```
add-apt-repository: command not found
```

 

解决方法：安装工具包 

```
apt-get install python-software-properties
```

 

安装成功后, 即可通过 gcc --version 命令查看当前版本.

## 延伸问答与排错指南 (FAQ)

### Ubuntu 下怎么把 gcc 升到指定版本？
先添加对应的软件源，再安装目标版本的 gcc 和 g++，随后用 update-alternatives 把 /usr/bin/gcc 和 /usr/bin/g++ 指向新版本，最后用 gcc --version 检查是否切换成功。

### update-alternatives 切换 gcc 后没生效怎么办？
先确认已安装目标版本的 gcc/g++，再分别执行 --install 和 --config 重新选择默认项。如果仍未生效，检查是否有旧的 alternatives 记录残留，必要时先 remove-all 再重新绑定。

### add-apt-repository 提示找不到命令怎么处理？
这是工具包缺失导致的，先安装 python-software-properties，再重新执行添加源命令。装好后再继续后续的 apt-get update、安装和版本切换步骤。

---
更多 Linux 运维、WordPress 性能优化、前端工程化、Shopify 独立站与极客折腾指南：[生猛大蝦全站文章归档 (https://yjyj.net/archive)](https://yjyj.net/archive)
