在编译某些系统模块时,往往由于编译器版本不具有向后兼容的能力,导致编译问题百出,这时就需要进行编译器版本的切换。最近刚好在编译USB网卡驱动时遇到了这种问题,记录如下:
1.如何查看编译器的版本
#查看当前gcc的版本
gcc -v
#查看当前g++的版本
g++ -v
2.如何查询系统当前已安装的编译器版本
#编译器一般都安装在/usr/bin下
cd /usr/bin
#查看已安装的编译器
ls g++*
ls gcc*
3.如何安装需要的编译器版本
#例如安装版本为4.8的编译器
sudo apt-get install gcc-4.8 g++-4.8
4.将已安装的编译器版本加入到候选表中
#最后的数字是优先级,可以根据需要设置
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 100
5.切换编译器版本
#切换gcc的版本
sudo update-alternatives --config gcc
#切换g++的版本
sudo update-alternatives --config g++
#一定要注意切换是两个一起切换,保持一致性,不然可能会出问题
#输入命令后会输出如下内容,直接上下建切换即可:
有 2 个候选项可用于替换 g++ (提供 /usr/bin/g++)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/bin/g++-7 70 自动模式
1 /usr/bin/g++-4.8 20 手动模式
2 /usr/bin/g++-7 70 手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号:
作者记录不易,如果对你有帮助,请一定要点赞、收藏、转发三联哦!