GCC 10 编译器已对 C++20 的主要功能协程(Co-Routines)进行了初始支持, 在 C++20 模式(std=c++20) 中运行时,默认情况下会启用 C++ 协程。而将于明年发布的 GCC 11 在 C++20 推出时将具有协程功能,到那时,GNU 编译器集合中支持 C++20 的剩余部分也应该会被解决。
为了提前尝试下功能,本地升级了gcc-10.2.0,本地环境:SUSE Linux 12 SP5 Server和Ubuntu 16.04
下面把升级过程和遇到的问题记录如下:
一、安装gcc 10.2.0步骤
1、下载gcc10.2和相关依赖包
下载gcc-10.2.0.tar.gz
依赖包:contrib/download_prerequisites中有
gmp='gmp-6.1.0.tar.bz2'
mpfr='mpfr-3.1.4.tar.bz2'
mpc='mpc-1.0.3.tar.gz'
isl='isl-0.18.tar.bz2'
以下是我使用的下载地址:
gcc-10.2.0 http://mirror.hust.edu.cn/gnu/
mpfr-3.1.4、mpc-1.0.3、gmp-6.1.0 http://mirror.hust.edu.cn/gnu/
isl-0.18.tar.bz2 ftp://gcc.gnu.org/pub/gcc/infrastructure/
解压gcc-10.2.0.tar.gz
解压依赖包,并将解压出来的源代码文件夹更名为去掉版本号,如:mpfr-2.4.2文件夹重命名为mpfr,并移动到gcc-10.2.0目录下。
2、配置和安装
cd gcc-10.2.0
mkdir build
cd build
../configure --prefix=/opt/gcc-10.2.0 --program-suffix=-10.2.0 --disable-multilib --enable-languages=c,c++
make
make install
--prefi