当我们的系统里面会有2个以上版本的gcc时,系统会缺省的默认一个gcc版本,当然我们可以更改系统的默认配置,来降低gcc、g++的版本以满足不同的需求。

1.查看GCC的版本信息

$ls /usr/bin/gcc*

$/usr/bin/gcc  /usr/bin/gcc-4.1  /usr/bin/gcc-4.4  /usr/bin/gccbug-4.1

可以看到,已经有了2个版本的gcc,安装成功。

2.增加gcc 4.1.2和gcc 4.4.1可选项

$sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 40

update-alternatives: 使用 /usr/bin/gcc-4.1 来提供 /usr/bin/gcc (gcc),于 自动模式中

$sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.1 30

update-alternatives: 使用 /usr/bin/gcc-4.4 来提供 /usr/bin/gcc (gcc),于 自动模式中

3.设置默认编译器,如下:

$sudo update-alternatives --config gcc

有 2 个选项可用于替换项 gcc (提供 /usr/bin/gcc)

  1. $

  2. 选择       路径            优先级  状态

  3. ------------------------------------------------------------

  4. * 0            /usr/bin/gcc-4.4   40        自动模式

  5. 1            /usr/bin/gcc-4.1   30        手动模式

  6. 2            /usr/bin/gcc-4.4   40        手动模式

  7. 要维持当前值[*]请按回车键,或者键入选择的编号:

键入你需要的版本代号,按回车即可

这时为了保险起见,用命令查询当前gcc版本号

$gcc -v

这样就完成了安装和默认项配置,于是可以默认使用GCC 4.1.2编译程序了,其它版本的类似……

同样也要设置一下g++的

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 50

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.5 40

如果想删除可选项的话可以键入以下指令:

sudo update-alternatives --remove gcc /usr/bin/gcc-4.5

再用gcc -v 来看一下版本是否改变了。

如果我们想使用gcc4.5怎么办?首先看看有没有安装gcc4.5,

ls /usr/bin/gcc*

结果只有/usr/bin/gcc  /usr/bin/gcc-4.4两个,那么我们需要安装

sudo apt-get install gcc-4.5 gcc-4.5-multilib g++-4.5 g++-4.5-multilib

安装好后输入以下指令:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 50

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.5 40

手动替换GCC版本的更多相关文章

  1. CentOS 7升级gcc版本

    Centos 7默认gcc版本为4.8,有时需要更高版本的,这里以升级至8.3.1版本为例,分别执行下面三条命令即可,无需手动下载源码编译 1.安装centos-release-scl sudo yu ...

  2. Linux(CentOS)升级gcc版本

    本人使用的是CentOS 6.2 64位系统,由于在安装系统的时候并没有勾选安装gcc编译器,因此需要自行安装gcc编译器. 系统信息查看命令: cat /etc/redhat-release 使用y ...

  3. Ubuntu下两个gcc版本切换

    Ubuntu系统使用的gcc版本随着发布版本的不同而不同,在编译Android系统时不同的版本推荐用不同的gcc去编译,那么可不可以改变系统的gcc来适应android编译环境的需求呢?答案是可以的. ...

  4. CentOS 6.5(64bit)安装GCC4.8.2+Qt5.2.1(替换GCC的链接库)

    截至目前,Qt的最新版本为5.2.1,CentOS的版本为6.5,GCC的版本为4.8.2,经过一番尝试,终于将Qt开发环境安装到了CentOS(64 bit)中,整个过程中有几个需要注意的地方,在这 ...

  5. 利用yum升级Centos6的gcc版本,使其支持C++11

    下面的可以在centos6下工作,centos7下有问题.可能是因为centos下的scl我是拷贝的文件,没有完全验证centos6下肯定没问题. https://my.oschina.net/u/5 ...

  6. Ubuntu / Raspberry 下切换GCC版本

    目前Ubuntu 自带的GCC版本为4.6,遗憾的是在实际使用时,反而版本越高越好问题越多,所以,一旦遇到编译问题时最好先检查你下载的工程里的readme,默认的编译器版本是否为当前的安装版本,如果不 ...

  7. 手动安装GCC

    01sunxiaoqiang的博客 Centos离线手动安装gcc.g++教程 转载 2016-11-06 17:35:18 标签:linux应用笔记 在安装LINUX系统的时候很可能会没有安装gcc ...

  8. 把ubuntu自带的高gcc版本降到低版本(如gcc 3.4)的方法

    转载自: 博客1.博客2 .博客3 步骤 第一步: 下载所需gcc安装包(.deb格式) 手动:老版本gcc下载地址:http://old-releases.ubuntu.com/ubuntu/poo ...

  9. ubuntu17.10安装lnmp安装包的核心问题-gcc版本、g++版本

    大致碰到的问题都是这样,不是php安装失败,就是MySQL安装失败,或者Nginx也安装失败 基本上是花式报错.后来在军哥的论坛中找到了这个帖子:https://bbs.vpser.net/viewt ...

随机推荐

  1. 黑马程序员_JavaIO流(四)

    File概述 File类 用来将文件或者文件夹封装成对象. 方便对文件与文件夹的属性信息进行操作. File对象可以作为参数传递给流的构造函数. 了解File类中的常用方法. 字段:static St ...

  2. HDU_2018——母牛产小牛的问题,递推

    Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛?   Input 输入数据由多 ...

  3. DPDK2.1 linux上开发入门手册

    1引言 本文档主要包含INTEL DPDK安装和配置说明.目的是让用户快速的开发和运行程序.文档描述了如何在不深入细节的情况下在linux应用开发环境上编译和运行一个DPDK应用程序. 1.1文档总览 ...

  4. CF- Day at the Beach

    C. Day at the Beach time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  5. [饭后算法系列] "头尾移动" 排序列表

    1. 问题 一个乱序列表(list), 只支持两种操作: 把一个元素移动到头部, 或者把一个元素移动到尾部. 需要设计一种算法, 使得移动次数最少而使列表有序 举两个例子: 1. {3,5,7,1,9 ...

  6. Javascript Promise 学习笔记

    1.     定义:Promise是抽象异步处理对象以及对其进行各种操作的组件,它把异步处理对象和异步处理规则采用统一的接口进行规范化. 2.     ES6 Promises 标准中定义的API: ...

  7. storm 事务和DRPC结合

    示例代码: package com.lky.topology; import backtype.storm.Config; import backtype.storm.LocalCluster; im ...

  8. javaweb笔记6多个响应头以及 HttpServletResponse对象

    1 常见的响应头 Location: http://www.it315.org/index.jsp     重定向的地址.配合302的状态码一起使用,实现重定向效果. Content-Type: te ...

  9. [Qt]No relevant classes found.

    [Qt]No relevant classes found. 我把两个文件加入工程的时候,再编译就出现了No relevant classes found.这个bug.百度了下,找到了答案,参考链接: ...

  10. spring + shiro + cas 实现sso单点登录

    sso-shiro-cas spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次,项目源码 系统模块说明 cas: 单点登录模块,这里直接拿的是cas的项目改了点样 ...