问题背景

在 Ubuntu 22.04 中安装 VMware 虚拟机时,提示缺少 VMMON 和 VMNET 模块

编译这两个模块需要 GCC 的版本大于 12.3.0,而 Ubuntu 22.04 自带的 GCC 版本为 11.4.0

因此需要安装对应的 GCC 版本,但为了不影响其他程序,需要同时保留这两个版本的 GCC

解决方法

① 使用命令 gcc -v 查看本机的 GCC 版本:

 可以看到当前系统的 GCC 版本为 11.4.0

② 使用以下命令安装 GCC 12 和 G++ 12:

sudo apt install gcc-12 g++-12

 命令执行结果如下:

通过命令 gcc-12 -v 检查是否安装成功:

③ 为每个版本的 GCC 设置优先级:

将 GCC 12 的优先级设置为 100:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100 --slave /usr/bin/g++ g++ /usr/bin/g++-12 --slave /usr/bin/gcov gcov /usr/bin/gcov-12

将 GCC 11 的优先级设置为 80:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 80 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11

配置完成后,由于 GCC 12 的优先级高于 GCC 11 的优先级,因此系统会切换为 GCC 12:

④ 切换不同版本的 GCC:

sudo update-alternatives --config gcc

输入对应的编号即可切换对应版本的 GCC,例如,输入 1 即可切换为 GCC 11:

在版本选择界面直接按回车会选择默认版本的 GCC 12

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐