首页 > 在CentOS 6.6 64bit上升级GCC到4.8.2版本

在CentOS 6.6 64bit上升级GCC到4.8.2版本

操作系统CentOS6.6 64bit上gcc原版本4.4.7,不能支持C++11的特性~,为了便于YouCompleteMe插件,我希望升级到4.8.2。不能通过yum的方法升级,需要自己手动下载安装包并编译,下面假定都是以root用户安装。

一、升级过程

1.获取gcc安装包并解压

gcc官网http://ftp.gnu.org/gnu/gcc里面有所有的gcc版本供下载,最新版本为5.3.0



这里我们暂保守选择安装gcc 4.8.2

wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.gz

tar -zxvf gcc-4.8.2.tar.gz

2.下载供编译需求的依赖项

这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力,我们可以直接打开其源码看看。

它会下载指定的源码包并做软连接。

cd gcc-4.8.2 

./contrib/download_prerequisites 

下面需要依次从源码安装这几个依赖库

gmp,mpfr,mpc



3.建立一个目录供编译出的文件存放

mkdir gcc-build-4.8.2

cd gcc-build-4.8.2

4. 生成Makefile文件

../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

5.编译

make -j4

注意:此步骤非常耗时,普通PC花费半小时不稀奇,我的高配电脑只用了10分钟左右

6.安装

sudo make install

7.切换GCC到新版

确定新安装的GCC的路径,一般默认在/usr/local/bin下。可以先updatedb,然后再输入

ls /usr/local/bin | grep gcc



查找。添加新GCC到可选项,倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级,设大一些之后就自动使用新版了

update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-unknown-linux-gnu-gcc 40



8.确认当前版本已经切换为新版

gcc -v

g++ -v

注意需要重新打开终端才能生效。

 

二、验证安装

尝试写一个C++11特性的程序段 tryCpp11.cc,使用了shared_ptr

//tryCpp11.cc

#include

#include

int main()

{

    std::shared_ptr pInt(new int(5));

    std::cout << *pInt << std::endl;

    return 0;

}

 

验证文件:

g++ -std=c++11 -o tryCpp11 tryCpp11.cc

./tryCpp11



三、安装中遇到的问题澄清

1.是否需要手动安装依赖库?

不需要,程序会内部自动处理,手动安装反而后出错。

2.安装动态库后,是否需要更新动态库?

更不需要修改并更新/etc/ld.so.conf文件之类的

3.如果编译错误,不要make distclean之类的,直接重新解压源码再来一遍

4.编译过程中出现错误

configure: error: cannot compute suffix of object files: cannot compile

这是找不到依赖库的位置



四、参考文献

[1].http://www.linuxidc.com/Linux/2015-01/112595.htm   4.8.3版本

[2].http://blog.csdn.net/szq123456123/article/details/45170923   4.9.2版本

[3].http://www.mamicode.com/info-detail-550954.html  对排错很有参考

[4].http://www.cnblogs.com/peterpanzsy/archive/2013/04/10/3006838.html 对排错很有帮助,推荐

更多相关:

  • 如果你想在自己的IPhone上安装一个ipa文件,你的手机是无法正常安装的,(越狱,企业证书分发除外)但是我们可以通过以下步骤来实现,前提要有自己的开发者账号。接下来就看一下具体的步骤:第一步:用Xcode新建一个工程Bundle identifier不要和手机中已有的的APP重复,然后用自己的证书打包出ipa文件。第二步:获取mob...

  • 刚接触,啥子都不会,按着教程走需求:识别图片中的文字信息环境:windows系统开发语言:python3.5使用工具类:1.pyocr2.PIL3.tesseract-ocr步骤:1.pyocr网络通直接使用命令:pip install pyocr网络不通,转至https://pypi.python.org/pypi/pyocr/0....

  • 1、前言程序设计好以后会生成若干可执行文件和依赖文件。为了方便程序被更好地使用,需要将程序封装为一个安装程序。2、平台和环境Windows系统安装NSIS下载地址:https://nsis.sourceforge.io/DownloadNSIS(Nullsoft Scriptable Install System)是一个开源的 Win...

  • 展开全部 f=open('xxx','r',encoding='utf-8') file=f.readlines() f.close() f=open('xxx','w',encoding='utf-8') for i in len(file): ----file[i]=file[i].split(',') ----file[i][1...

  • PIL(Python Imaging Library)是Python中一个强大的图像处理库,但目前其只支持到Python2.7 pillow是PIL的一个分支,虽是分支但是其与PIL同样也具有很强的图像处理库。 Python3.7.0 如何安装pillow 此安装方法在windows7环境下完成: >>>win+r调出运行窗口,键入c...

  • 1.今天在线上一台虚机CentOS 7上执行一个go test的命令,发现如下奇怪的报错: exec: "gcc": executable file not found in PATH 解决方案: 执行如下命令安装GCC,原来系统中的确之前没有安装过GCC sudo yum install gcc #安装GCC which gcc...

  • Shell代码   gcc -c x.c  gcc x.o -ox -lpthread  ...

  • 现在很多程序员都应用GCC,怎样才能更好的应用GCC。目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言 的程序,可根据需要选择安装支持的语言。本文以在Redhat Linux安装GCC4.1.2为例(因在项目开发过程中要求使用,没有用最新的GCC版本),介绍Linux安装GCC过程。安装之前,系统...

  • 天地会珠海分舵注:随着微信应用号的呼之欲出,相信新一轮的APP变革即将发生。从获得微信应用号邀请的业内人士发出来的一张开发工具源码截图可以看到,reacjs及其相应的FLUX框架altjs很有可能会成为前端开发主流。作为行业内人士,自己之前从来没有做过web及webapp开发,所以这方面算是一名小白。这段时间在忙完工作之余准备储备...

  • 习题5 2. (1)写出关系模式: 学生:R1= U1={学号,姓名,出生日期,系名,班号,宿舍区}; F1={学号->(姓名,出生日期,系名,班号,宿舍区),班号->系名,系名->宿舍区}; 班级:R2= U2={班号,专业名,系名,人数,入校年份}; F2={班号->(专业名,人数,入校年份),专业名->系名,(专业名,入校年份)...