由于不同版本编译结果有差异,如std::string在不同版本GCC下结果不同https://blog.csdn.net/lsacaner/article/details/95087157
所以在原5.4下,再安装4.8
查看gcc g++版本
g++ --version
gcc --version
安装其他版本
sudo apt-get install gcc-4.8 g++-4.8
查看已安装gcc g++
ls /usr/bin/gcc*
ls /usr/bin/g++*
这是gcc的结果
/usr/bin/gcc /usr/bin/gcc-ar-4.8 /usr/bin/gcc-nm-5
/usr/bin/gcc-4.8 /usr/bin/gcc-ar-5 /usr/bin/gcc-ranlib
/usr/bin/gcc-5 /usr/bin/gcc-nm /usr/bin/gcc-ranlib-4.8
/usr/bin/gcc-ar /usr/bin/gcc-nm-4.8 /usr/bin/gcc-ranlib-5
这是g++的结果
/usr/bin/g++ /usr/bin/g++-4.8 /usr/bin/g++-5
注册并设置gcc g++优先级
最后的90与100是优先级
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 90
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 90
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 100
选择gcc g++的使用版本
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
gcc切换执行结果如下(g++同样):
有 2 个候选项可用于替换 gcc (提供 /usr/bin/gcc)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/bin/gcc-5 100 自动模式
1 /usr/bin/gcc-4.8 90 手动模式
2 /usr/bin/gcc-5 100 手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号:1
update-alternatives: 使用 /usr/bin/gcc-4.8 来在手动模式中提供 /usr/bin/gcc (gcc)