在 Ubuntu 上切换 GCC 版本,常见做法有三种:update-alternatives(推荐)、直接指定路径、使用环境模块/容器。下面按使用频率从高到低说明。
update-alternatives(最常用、系统级)sudo apt update
sudo apt install gcc-9 g++-9
sudo apt install gcc-11 g++-11
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 110
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
选择对应编号即可。
sudo update-alternatives --set gcc /usr/bin/gcc-11
sudo update-alternatives --set g++ /usr/bin/g++-11
gcc --version
g++ --version
/usr/bin/gcc-9 main.c -o main
export CC=/usr/bin/gcc-11
export CXX=/usr/bin/g++-11
cmake ..
或
PATH=/usr/bin:$PATH gcc-11 main.c
cmake -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 ..
或在 CMakeLists.txt:
set(CMAKE_C_COMPILER gcc-11)
set(CMAKE_CXX_COMPILER g++-11)
Ubuntu 版本太旧时可加 toolchain PPA:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
必须 gcc 和 g++ 一起切,否则编译 C++ 会出错。
ls /usr/bin/gcc-*
dpkg -l | grep gcc
如果你告诉我:
我可以给你精确命令。