Ubuntu GCC对C++17的支持情况
Ubuntu系统默认安装的GCC版本决定了其对C++17的支持能力。Ubuntu 20.04及以上LTS版本(如22.04、24.04)默认安装的GCC版本均支持C++17:
从GCC版本演进来看,GCC 7及以上版本开始完全支持C++17标准(GCC 8+进一步优化了对C++17的支持)。若Ubuntu系统默认GCC版本低于7(如Ubuntu 16.04默认GCC 5),则无法直接使用C++17特性,需手动升级GCC。
若使用Ubuntu 18.04及以下版本,可通过以下步骤安装更高版本GCC(以GCC 7为例):
sudo apt update
sudo apt install gcc-7 g++-7 # 安装GCC 7及对应G++
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 --slave /usr/bin/g++ g++ /usr/bin/g++-7 # 设置为默认版本
升级后,通过gcc --version确认版本是否切换成功。
g++ --version,确认版本≥7;-std=c++17标志编译代码,如g++ -std=c++17 main.cpp -o myprogram,无报错则表示支持;#include <iostream> int main() { std::cout << __cplusplus << std::endl; },编译运行后若输出201703L(C++17对应的宏值),则证明支持。