首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

【真】Linux升级GCC 4.8.1明晰简明教程(Ubuntu 12.04 64位版为例)

2013-10-10 
【真】Linux升级GCC 4.8.1清晰简明教程(Ubuntu 12.04 64位版为例)前言:上次在CentOS 6上升级GCC 4.7.2的教程

【真】Linux升级GCC 4.8.1清晰简明教程(Ubuntu 12.04 64位版为例)
前言:

上次在CentOS 6上升级GCC 4.7.2的教程(http://blog.csdn.net/yanxiangtianji/article/details/8365630)由于本人但是能力有限,而且时间比较紧,很多东西没有深究,导致教程里面有一些冗杂和不太正确或不能通用的部分,(还被师妹说我误导她,冤枉啊【真】Linux升级GCC 4.8.1明晰简明教程(Ubuntu 12.04 64位版为例)),向大家道歉。

这次我在Ubuntu 12.04 LTS 64位版上更新gcc,发现了原来的一些问题,这次没有什么时间上的压力,我比较认真地去查阅了官方文档,也参考了一些网上的帖子,对整个升级过程在依赖包的安装不同Linux流派32和64位下的区别和共同点有了更深的认识。

现总结如下:

PS:不标注出处的转载是可耻的。

(如果你很忙的话,可以只把里面的shell代码复制出来执行)


基本过程:这里对整个流程做一个概要性的介绍,让大家在做每一件事情的时候做到心中有数。
1,安装依赖库和工具根据官方文档,如果只是为了编译安装而不是去修改gcc,那么所需要的库和工具并不是很多。需要强调的有两点:1)需要一个c++编译器,也就是说如果只有gcc而无g++,那么是无法完成这次编译的;2)在64位系统上如果想要编译出32位的程序的话,需要额外安装相应的库(默认开启)。
2,配置(configure)配置我们编译出的gcc所支持的语言,目标环境(是否为交叉编译器),依赖库路径(一定条件下可省略,下详),编译结果安装到哪里……配置程序会根据这些信息生产Makefile文件,供下一步使用。
3,编译(make)根据configure生成的Makefile编译出我们的gcc和相应的lib如libstdc++等。
流程:请大家多多查阅官方文档:http://gcc.gnu.org/install/一,安装依赖库与工具工具:支持c++98的编译器(g++),make,perl,解压工具(tar、gzip等),Binutils(部分情况下需要)等。这里一般不需要太担心,因为现在的linux系统在安装完成后,这里面的大部分工具就已经就位了,唯一需要注意的就是c/c++环境。如果确定本机已经安装了gcc和g++那么可以跳过这一部分。
Unbutu下可以使用:
sudo update-alternatives --config gcc

来查看两个gcc中系统选中了哪个(auto情况下是选中优先级高的),如果auto选中的不是我们要的,可以增加优先级或者手工制定默认的。


在其他Linux版本:

在升级gcc个过程中,主要区别就在于包的名字和包管理器的不同。


Ubuntu系(Debian)的包名和RedHat系(CentOS、Fedora)的在命名规则上不太一样。前缀洗好加版本号,开发版缩写为“dev”,用“-”连接架构;而后者的开发版缩写为”devel“,用”.“连接架构。

例如在安装32位的glibc的时候所使用的报名:

On Ubuntu: libc6-dev-i386.
On Red Hat distros: glibc-devel.i686
On CentOS 5.8: glibc-devel.i386
On CentOS 6.3: glibc-devel.i686


其次Ubuntu系有很多整合了的包,例如g++-multilib,build-essential等,而ReadHat系没有。


原载于http://blog.csdn.net/yanxiangtianji

转载请注明出处


热点排行