我怎样才能改变“哪个 gcc”目录?

我怎样才能改变“哪个 gcc”目录?

gcc-4.8是从 build-essential 安装的。

我以前都是从源代码gcc-4.8构建的gcc-4.7.4,并将 4.7 版本放在一个名为/AntonProj1

我已经能够将符号链接从默认的 gcc 更改为内置/AntonProj1

rm /usr/bin/gcc

ln -s /AntonProj1/bin/gcc /usr/bin/gcc

因此,虽然我可以通过执行以下操作找到正确的版本(4.7.4) ,但当我询问时gcc-v我仍然链接到/usr/bin/gccwhich gcc

当我尝试类似的事情时:

ln -s /AntonProj1/bin/gcc /AntonProj1/tmp/gcc

我无法再获得正确的版本,并且当我询问时-v它仍然在查找(它实际上会抛出)/usr/bin/gccwhich gccbash: /usr/bin/gcc: No such file or directory

例如,我如何建立一个链接,/AntonProj1/tmp/gcc以便我可以使用gcc命令使用我自己的构建(gcc-4.7.4)而不是默认构建进行编译?

答案1

这是我在提出问题时按照自己期望的方式解决问题的方法。我不确定这是否是最好的方法;但目前这种方法有效:

设置符号链接:

删除现有链接:

rm /usr/bin/gcc
rm /usr/bin/g++

更改默认可执行文件的名称,因为我想要运行命令gccg++

mv /AntonProj1/bin/gcc /AntonProj1/bin/gcc-4.7.4
mv /AntonProj1/bin/g++ /AntonProj1/bin/g++-4.7.4

设置新的符号链接:

ln -s /AntonProj1/bin/gcc-4.7.4 /AntonProj1/bin/gcc
ls -s /AntonProj1/bin/g++-4.7.5 /AntonProj1/bin/g++

设置 PATH 内容:

export "PATH+=:/AntonProj1/bin"

虽然我不确定我设置路径的方法是否理想(肯定不是,因为我必须将路径添加到我想要运行gccg++从中运行的任何目录),但这种简单的导出会将正确的路径附加到已经设置的路径的末尾...我可以想象在 profile.d 或类似的东西中进行设置;但是,就我的目的而言,这样就没问题了。

相关内容