在Ubuntu上选择和切换C++版本可以通过多种方法实现,以下是一些常见的方法:
update-alternatives
工具update-alternatives
是Ubuntu提供的一个非常有用的工具,可以用来管理多个版本的命令。对于C++编译器,你可以使用它来安装和管理不同版本的GCC和G++。
首先,安装你需要的GCC/G++版本。例如,安装GCC 7和G++ 7:
sudo apt update
sudo apt install gcc-7 g++-7
同样地,安装GCC 8和G++ 8:
sudo apt install gcc-8 g++-8
update-alternatives
配置 update-alternatives
来管理这些编译器版本:
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 70
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 80
对于GCC编译器,命令类似:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80
使用以下命令来选择默认的C++编译器版本:
sudo update-alternatives --config g++
系统会显示一个列表,列出所有可用的C++编译器版本及其优先级。输入你想要设置为默认版本的编号,然后按回车键。
验证你的配置是否成功:
g++ --version
或者
gcc --version
你也可以通过手动修改环境变量来切换C++版本。
使用 which
命令找到不同版本的C++编译器路径:
which g++-7
which g++-8
which g++-9
编辑你的 ~/.bashrc
或 ~/.profile
文件,添加或修改以下行来设置默认的C++编译器路径:
export CC=/usr/bin/g++-9
export CXX=/usr/bin/g++-9
然后运行以下命令使更改生效:
source ~/.bashrc
再次运行以下命令来验证当前使用的C++版本:
g++ --version
如果你使用的是Anaconda或Miniconda,可以通过创建和管理不同的conda环境来切换C++版本。
conda create -n myenv gxx_linux-64=g++-9
conda activate myenv
在激活的环境中运行以下命令来验证C++版本:
g++ --version
如果你需要安装特定版本的C++编译器,可以使用APT软件包管理器或手动编译安装。
sudo apt update
sudo apt install g++-13
sudo apt install gmp-6.1.2 mpfr-4.0.2 mpc-1.1.0
wget https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.gz
tar -xf gcc-8.3.0.tar.gz
cd gcc-8.3.0
./configure --prefix=/usr/local/gcc-8.3.0 --disable-multilib --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-4.0.2 --with-mpc=/usr/local/mpc-1.1.0
make
sudo make install
echo 'export PATH=/usr/local/gcc-8.3.0/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/gcc-8.3.0/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
gcc --version