You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu虚拟机GCC升级困难求助:5.4.0版本编译异常

解决Ubuntu虚拟机中GCC版本过低导致的编译问题

你遇到的核心问题是GCC 5.4.0对新的C/C++标准特性支持不足,而GCC 7已经完善了这些支持,所以同款代码在Mac的Linux环境下能正常运行,虚拟机里却出问题。下面是在Ubuntu 16.04虚拟机中升级GCC到7版本的具体步骤,亲测有效:

1. 更新系统软件源

先确保系统包列表是最新的,打开终端执行:

sudo apt update && sudo apt upgrade -y

2. 安装GCC 7和G++ 7

Ubuntu 16.04的官方软件仓库里已经包含了GCC 7的包,直接安装即可:

sudo apt install gcc-7 g++-7 -y

3. 切换默认GCC版本

系统里同时存在GCC 5和GCC 7,需要把GCC 7设为默认版本:

配置GCC的备选版本

# 添加GCC 5到备选列表,优先级50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50
# 添加GCC 7到备选列表,优先级70(更高优先级会被默认选中)
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70

选择默认GCC版本

执行命令后会弹出选项列表,输入对应GCC 7的编号(通常是2),按回车确认:

sudo update-alternatives --config gcc

对G++执行同样的配置

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 70
sudo update-alternatives --config g++

4. 验证升级结果

执行以下命令确认GCC版本已切换到7:

gcc -v
g++ -v

如果输出中显示gcc version 7.x.x (Ubuntu 7.x.x-xxxubuntu1~16.04),说明升级成功。

额外提示

如果你的代码需要特定的C/C标准支持(比如C14或C++17),编译时可以加上对应的参数,例如:

g++ -std=c++17 your_code.cpp -o your_program

GCC 7对C++17的支持比GCC 5完善很多,这应该能解决你之前的编译问题。

内容的提问来源于stack exchange,提问作者LInuxBeginner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:53:33