当前位置: 首页 > news >正文

ubuntu下多个gcc版本切换

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

 先看看我们系统用的gcc和g++是什么版本

gcc -v
可以获得的信息如下:
gcc version 4.4.6 (Ubuntu/Linaro 4.4.6-11ubuntu2)

如果我们想使用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 44 --slave /usr/bin/g++ g++ /usr/bin/g++-4.4
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.5 45 --slave /usr/bin/g++ g++ /usr/bin/g++-4.5

其中--slave后面加入g++是当切换gcc版本时也同时切换g++。

接着输入:

sudo update-alternatives --config gcc

会看到如下的选项

There are 3 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path              Priority   Status
------------------------------------------------------------
  0            /usr/bin/gcc-4.4   44        auto mode
  1            /usr/bin/gcc-4.4   44        manual mode
  2            /usr/bin/gcc-4.5   45        manual mode
* 3            /usr/bin/gcc-4.6   46        manual mode

Press <enter> to keep the current choice[*], or type selection number:

要想用哪个gcc就输入编号吧。

 

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

sudo update-alternatives --remove gcc /usr/bin/gcc-4.5
再用gcc -v来看一下版本是否改变了。
 

参考链接:

Ubuntu如何安装最新版安装gcc

Installing newer GCC versions in Ubuntu

理清gcc、libc、libstdc++的关系

相关文章:

  • glibc--memcpy源码分析
  • glibc--strcpy源码分析
  • 使用GDB调试C库
  • glibc -- strlen源码分析
  • linux下利用backtrace追踪函数调用堆栈以及定位段错误
  • ssh登陆virtualbox安装的Ubuntu的同时也能连上互联网
  • Stack Backtracing Inside Your Program
  • Obtaining a stack trace in C upon SIGSEGV
  • StackTraces
  • x86寄存器的一般功能
  • 简单的栈回溯 简单的栈回溯欺骗 -- 简单分析
  • Inline Assembly in GCC Vs VC++
  • The True Story of Hello World
  • Smallest x86 ELF Hello World
  • 使用vim编辑可执行文件--16进制模式
  • Docker容器管理
  • Effective Java 笔记(一)
  • JavaScript学习总结——原型
  • Python打包系统简单入门
  • React-生命周期杂记
  • socket.io+express实现聊天室的思考(三)
  • SOFAMosn配置模型
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • (12)目标检测_SSD基于pytorch搭建代码
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (3)STL算法之搜索
  • (MATLAB)第五章-矩阵运算
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (差分)胡桃爱原石
  • (超详细)语音信号处理之特征提取
  • (分类)KNN算法- 参数调优
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (四)模仿学习-完成后台管理页面查询
  • (一)插入排序
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)编辑寄语:因为爱心,所以美丽
  • .Net IOC框架入门之一 Unity
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NET微信公众号开发-2.0创建自定义菜单
  • .ui文件相关
  • /run/containerd/containerd.sock connect: connection refused
  • @EnableAsync和@Async开始异步任务支持
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [.NET]桃源网络硬盘 v7.4
  • [Angularjs]asp.net mvc+angularjs+web api单页应用
  • [AutoSar]BSW_Memory_Stack_004 创建一个简单NV block并调试
  • [C++]C++类基本语法
  • [C++]高精度 bign (重载运算符版本)
  • [element-ui] el-dialog 中的内容没有预先加载,因此无法获得内部元素的ref 的解决方案
  • [Flex] PopUpButton系列 —— 控制弹出菜单的透明度、可用、可选择状态
  • [IE6 only]关于Flash/Flex,返回数据产生流错误Error #2032的解决方式
  • [JDK工具-2] javap 类文件解析工具-帮助理解class文件,了解Java编译器机制
  • [Python GUI PyQt] PyQt5快速入门