update-alternatives 软件版本切换
blog.csdn.net/muren/article/details/130069972 $ update-alternatives --help 用法:update-alternatives <命令> 命令: --install <链接> <名称> <路径> <优先级> ... 在系统中加入一组候选项。 --remove <名称> <路径> 从 <名称> 替换组中去除 <路径> 项。 --display <名称> 显示关于 <名称> 替换组的信息。 --list <名称> 列出 <名称> 替换组中所有 $ sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/gcc12/bin/gcc 20 --slave /usr/bin/g++ g++ /usr/local/gcc12/bin/g++ $ sudo update-alternatives --remove gcc /usr/local/gcc12/bin/gcc $ sudo update-alternatives --remove g++ /usr/local/gcc12/bin/g++ 本文记录了在Deepin20.8下通过编译安装GCC12.2.0的过程。 deepin20.8 cd ~ wget https://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.xz tar -Jxf gcc-12.2.0.tar.xz cd gcc-12.2.0 1、查看下载依赖包 cat contrib/download_prerequisites ....... #------------------------------------ gmp=\'gmp-6.2.1.tar.bz2\' mpfr=\'mpfr-4.1.0.tar.bz2\' mpc=\'mpc-1.2.1.tar.gz\' isl=\'isl-0.24.tar.bz2\' #------------------------------------ ...... 2、下载依赖包到gcc源目录下 cd ~/gcc-12* wget https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.2.1.tar.bz2 wget https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-4.1.0.tar.bz2 wget https://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.2.1.tar.gz wget https://gcc.gnu.org/pub/gcc/infrastructure/isl-0.24.tar.bz2 3、检测依赖包 ./contrib/download_prerequisites cd ~/gcc-12* mkdir build cd build ../configure --prefix=/usr/local/gcc12/ --disable-multilib configure命令说明 --prefix 指定安装目录 --disable-multilib 只安装64位版本 make -j8 注意:整个编译时间花费1个小时 安装到之前--prefix指定的目录 make install 1、设置环境变量 echo \'export LD_LIBRARY_PATH=/usr/local/gcc12/lib64:$LD_LIBRARY_PATH\' >> /etc/profile 重启生效 2、配置替换版本 sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/gcc12/bin/gcc 20 --slave /usr/bin/g++ g++ /usr/local/gcc12/bin/g++ ykyi.net/?p=1712 如果你的gcc/g++版本号大于4.7的话,可以用如下命令获得默认c++版本 kamus@shyyp.net:~g++ --version | head -1 g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0 kamus@shyyp.net:~ g++ -dM -E -x c++ /dev/null | grep -F __cplusplus #define __cplusplus 201402L kamus@shyyp.net:~$ gcc -dM -E -x c++ /dev/null | grep -F __cplusplus #其实用gcc也可以 #define __cplusplus 201402L kamuszhou@centos ~ g++ --version | head -1 g++ (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4 kamuszhou@centos~ g++ -dM -E -x c++ /dev/null | grep -F __cplusplus
