MENU

CentOS 6.4编译GCC实战

June 7, 2015 • 程序阅读设置

之前的某一个项目对于GCC版本有一定的需求,于是我安装了一个Ubuntu Server 14.04 LTS,它apt-get源里的GCC就已经是4.8了。然而,Ubuntu用起来出现了各种各样的小问题,虽然不成大碍,总是感觉不爽。现在我换回了CentOS 6.4,准备自己编译一下能够较好支持C++11的GCC。

一、准备工作
我们先来到GCC官方网站上的下载页面,找一个最近的镜像,然后在release里找到一个对应的源码包。如http://mirrors-usa.go-parts.com/gcc/releases/gcc-4.8.1/gcc-4.8.1.tar.gz,这是我需要的。然后我们把它下载下来,找个地方,解压缩。

二、解决依赖
向来这就是一个比较头疼的问题,不过好在可以使用download_prerequisites。将目录切换到解压的源码目录,执行一下./contrib/download_prerequisites,所需的东西就会自动下载好了。如果在中国大陆的话,这可能需要一段时间;在美国可以以秒计算耗时。

三、开始生成
建立一个目录,名字随便取,比如就叫build吧,然后切换进去。接着我们需要生成Makefile。执行../configure --enable-checking=release --enable-languages=c,c++来生成Makefile。因为我只需要C和C++,所以在参数里写好了。接着执行make编译。这当然是最耗时的步骤,慢慢等吧。我在一台i5-3470、8G内存的机器上只花了一杯茶的时间,然而在一台15刀一年的廉价OpenVZ美国VPS上花了三个多小时。

四、更新运行库 echo '/usr/local/lib64' > /etc/ld.so.conf.d/local-lib64.conf && ldconfig -v

gcc -vgcc --version检查一下情况:

gcc 版本 4.8.1 (GCC)。

大功告成。之后使用-std=c++11算是无压力了。

Archives Tip
QR Code for this page
Tipping QR Code