Linux下修改gcc和g++的版本

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/FX677588/article/details/78681325

  1 前言
  最近,自己在linux调试matlab的mex的时候,突然发现matlab R2015版本对应的mex适配环境是gcc-4.7,而自己ubuntu的Linux对应版本默认却是gcc-4.8.5,所以涉及到一个版本下调的工作。最后自己在一顿捣鼓后终于解决了这个问题,本着方便大家的修改,这里我详细介绍一下自己的修改方法。
  2 修改gcc链接文件
  首先,我们自然是需要下载gcc-4.7版本的程序以及安装,ubuntu下如下操作:

sudo apt-get install gcc-4.7

  等下载安装完成之后,我们可以去/usr/bin/目录下看到一些gcc开头的文件,其中有一个是gcc,他是个链接文件,链接到当前版本的gcc文件(例如我的电脑就是gcc-4.8),也即是说,他是链接到当前使用的gcc上的,所以改变他的链接源文件就可以了,也就是让gcc这个链接文件链接到当前文件夹下的gcc-4.7版本可执行文件上。操作如下,首先删除这个链接文件(当然需要超级用户权限):

sudo rm /usr/bin/gcc

  然后就是创建一个新的gcc链接文件,让其链接的是gcc-4.7版本。如下操作

sudo ln -s /usr/bin/gcc-4.7 /usr/bin/gcc

  到此,有些人的机器或许已经可以如愿修改完成了,但是我的机器却没有。你可以通过下面命令查看:

gcc --version  # 或者 gcc -v

  最后发现我的电脑却还是gcc-4.8.5的版本。但是我操作/usr/bin/gcc --version却发现这个gcc的版本的确是gcc-4.7,也就是说我上面的连接操作是没有问题的。只能说明本机系统上gcc默认执行的并不是/usr/bin目录下的可执行文件,而是另一个目录。最后通过gcc -v查询的确如我所言,gcc对应的是在另一个目录下的可执行文件。
  好了,下面的工作当然是让系统在我们输入gcc命令后,优先选择/usr/bin目录下的gcc可执行文件。
  3 修改gcc的优先执行目录
  gcc的优先执行目录最简单的修改方式是对PATH环境变量的修改,让/usr/bin目录在最前面定义,这样系统依次遍历PATH环境变量中的查询地址的时候,一旦先在/usr/bin中找到gcc命令,自然先运行这个。
  修改临时的自然有export方式,但是我们还是希望永久修改,方法如下:

vim ~/.bashrc # 打开配置文件

  然后在文件的结尾加上以下一条命令:

export PATH="/usr/bin:$PATH"

  为了不用重启机器就让文件被刷新执行,如下操作:

source ~/.bashrc 

  好了,到此你再查看gcc版本应该就是对应到gcc-4.7版本了。
  g++的版本修改也一样操作,当时需要注意,它的版本记号为g++-4.7,不要忘记了中间的“-”哦。另外,操作完成之后还需要执行一下:source ~/.bashrc。不然g++默认优先查询路径并不是/usr/bin。


  个人学习记录,由于能力和时间有限,如果有错误望读者纠正,谢谢!
  转载请注明出处:http://blog.csdn.net/FX677588/article/details/78681325

猜你喜欢

转载自blog.csdn.net/FX677588/article/details/78681325