在不同的GCC版本之间切换

我最近构build了一个旧版本的GCC,并将其安装在我的主目录(spec。〜 ~/local/gcc-5.3.0 )中。 但是,我只需要这个编译器用于CUDA项目,其余时间将与系统编译器(GCC 6.2.1)一起工作。 所以,我想我需要find一种在需要的时候切换它们的方法,同时也可以改变库并适当地包含path。

我知道update-alternatives是这样做的一种方式,但似乎需要设置root权限,这是我没有的。

下一个最好的事情可能是在.bashrc中编写一个shell函数来确保以下内容:

以上是达到这个目的的最好方法吗? 如果是的话,我应该在实施这样的function时设置什么path?

以上是达到这个目的的最好方法吗? 如果是的话,我应该在实施这样的功能时设置什么路径?

正如其他人指出的, PATHLD_LIBRARY_PATH是强制性的。 您也可以更新MANPATH的完整性。

我建议不要在.bashrc重新创建轮子,而是建议使用一些已知但非常方便的模块化环境模块 ,这些模块是专门为此目的而设计的。 你可以像使用它们(一旦你设置了gcc / 3.1.1的配置):

 $ module load gcc/3.1.1 $ which gcc /usr/local/gcc/3.1.1/linux/bin/gcc $ module unload gcc $ which gcc gcc not found