CentOS 多版本 GCC 共存

用于解决需要多个GCC版本的场景,可以自定义各版本GCC的名称 如何编译安装高版本GCC以及可能存在的动态链接库未替换问题参考以下两篇文章

https://zhuanlan.zhihu.com/p/33026927

https://itbilu.com/linux/management/NymXRUieg.html

首先可以在~/.bashrc文件里添加这一句来添加你的GCC到PATH

1
export PATH=PATH_TO_YOUR_GCC/bin:$PATH

然后可以为你的gcc可执行文件添加一份软链接 例如你下载了个7.5版本的gcc

1
sudo ln -s PATH_TO_YOUR_GCC/gcc PATH_TO_YOUR_GCC/gcc75
这样就可以直接用gcc75来调用7.5的GCC,g++也是如此操作

如果需要多个版本的GCC可以分别编译然后加软链接

PS: 去年这个时候的我(指文章创建时间)居然连软链接都不会,写了个复制二进制文件的方法...

PS2: 这样做在cmake时可以直接使用如下语句指定编译器版本,而用alias重命名无法实现(会提示找不到编译器)

1
set(CMAKE_C_COMPILER  "gcc75")