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 # 恢复

 

posted @ 2022-06-08 10:51  AlexOne  阅读(108)  评论(0编辑  收藏  举报