在 Ubuntu 上解决 GCC 兼容性问题,通常出现在以下几种场景。你可以对照自己的情况选择方案:
Ubuntu 默认只有一个 gcc,但你可以安装多个版本并切换。
sudo apt update
sudo apt install gcc-9 gcc-10 gcc-11 gcc-12
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 120
sudo update-alternatives --config gcc
选择对应编号即可。
新版 Ubuntu(20.04+)仓库里已移除老 GCC。
docker run -it ubuntu:16.04 bash
apt install gcc-4.8
完全避免系统污染。
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-7
如果报错类似:
std::xxx has not been declared
指定标准:
g++ -std=c++11 main.cpp
g++ -std=c++17 main.cpp
CMake 中:
set(CMAKE_CXX_STANDARD 17)
高版本编译,低版本运行失败 常见于:
/lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.34' not found
gcc main.c -static
有时需要:
sudo apt install build-essential
sudo apt install gcc-multilib
你可以告诉我:
lsb_release -a)gcc --version)我可以给你精准命令,不用瞎试。