問題背景
在 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