当前位置: 首页> 科技> 数码 > ubuntu gcc g++版本切换

ubuntu gcc g++版本切换

时间:2025/7/11 1:03:44来源:https://blog.csdn.net/qingqiqiuwhy/article/details/140530005 浏览次数:2次

要将 GCC 和 G++ 的版本从 12.4 降低到 9,你可以按照以下步骤操作:

安装 GCC 和 G++ 9:

sudo apt update sudo apt install gcc-9 g++-9

使用 update-alternatives 设置优先级:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 120 --slave /usr/bin/g++ g++ /usr/bin/g++-12 
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9

选择要使用的版本:

sudo update-alternatives --config gcc

在出现的菜单中选择 gcc-9。

验证版本:

gcc --version g++ --version

注意事项:

  • 这不会删除 GCC 12.4,只是改变默认版本。
  • 某些依赖于较新 GCC 版本的软件可能会受影响。
  • 确保系统中没有正在运行的依赖于 GCC 12.4 的进程。

只在特定项目中使用 GCC 9:

  • 可以在编译命令中直接指定版本,如:
    gcc-9 your_file.c -o your_program g++-9 your_file.cpp -o your_program
  • 或者在 Makefile 中设置:
    CC=gcc-9 CXX=g++-9

    这个方法不会影响其他依赖于特定 GCC 版本的系统组件。如果你之后想恢复到 GCC 12.4,只需再次运行 update-alternatives --config 命令并选择相应版本。

错误处理:

  • update-alternatives: error: alternative g++ can't be slave of gcc: it is a master alternative

这个错误表明 g++ 已经被设置为一个独立的主选项(master alternative),而不是 gcc 的从属选项(slave alternative)。这种情况通常发生在系统之前被配置为单独管理 gccg++。我们需要稍微调整一下方法来解决这个问题。

以下是修改后的步骤:

  1. 首先,为 gccg++ 分别设置替代选项: 对于 gcc:
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 120 
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90

  2. 对于 g++:
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 120 
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90
  3. 然后,分别为 gccg++ 选择版本:

        对于 gcc:

sudo update-alternatives --config gcc

        对于 g++:

sudo update-alternatives --config g++

在每个命令后,你会看到一个菜单,选择对应的 gcc-9 和 g++-9。

        验证版本:

gcc --version g++ --version

这种方法允许你单独管理 gccg++ 的版本,这在某些情况下可能更灵活。

关键字:ubuntu gcc g++版本切换

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: