gcc编译升级
1.
# git clone https://gitee.com/mirrors/gcc.git # 克隆不下来下载压缩包 gcc-releases-gcc-12.1.0 sudo apt install flex ./contrib/download_prerequisites ./configure --prefix=/usr/local/gcc --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib make && sudo make install /usr/local/gcc/bin/g++ -v # 12、20是优先级 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 12 --slave /usr/bin/g++ g++ /usr/bin/g++-8 sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/gcc/bin/gcc 20 --slave /usr/bin/g++ g++ /usr/local/gcc/bin/g++ # 选择版本,发现已经是12的版本优先了 sudo update-alternatives --config gcc # https://blog.csdn.net/RadiantJeral/article/details/109681825 # 协程 demo 编译命令 g++ -std=c++20 -O2 -Wall -pedantic -pthread croutine.cc 运行 promise 程序报 libstdc++、glibc 错误: # ls -l /lib/x86_64-linux-gnu/libstdc++.so.6 # /lib/x86_64-linux-gnu/libstdc++.so.6 -> libstdc++.so.6.0.25 sudo ln -snf /usr/local/gcc/lib64/libstdc++.so.6.0.30 /lib/x86_64-linux-gnu/libstdc++.so.6 # 更新
sudo ln -snf /lib/x86_64-linux-gnu/libstdc++.so.6.0.25 /lib/x86_64-linux-gnu/libstdc++.so.6 # 恢复