在Ubuntu 12.04下编译安装GCC/G++4.9

做毕设使用的一个开源项目restbed使用g++4.9才能编译,4.9还没正式发布,Ubuntu 12.04没有预编译好的,无奈只好自己编译。


  • 下载最新的开发版GCC源代码
svn checkout svn://gcc.gnu.org/svn/gcc/trunk
  • 安装依赖
sudo apt-get install flex bison build-essential 

# 如果要支持multilib(即使编译出来的gcc可以编译32位和64位的程序),需要安装下面的依赖
sudo apt-get install gcc-multilib
#如果你现用的gcc编译器不是Ubuntu 12.04源里的4.6版本,比如我使用的是ppa里的4.8版本,上面的命令需要改成
sudo apt-get install gcc-4.8-multilib

# 在gcc源代码的根目录执行下面的命令,这会下载gmp, mpfr, mpc,并装它们的编译集成到GCC的编译过程中
./contrib/download_prerequisites 
  • 建立一个编译用的目录,在gcc源码的根目录下执行这个命令
mkdir build
cd build
  • 配置。假设想把这个gcc安装到 /opt/gcc_4_9/目录,示例配置如下,使用这个配置,编译出来的gcc支持编译C, C++两种语言。支持编译32位和64位程序
../configure --prefix=/opt/gcc_4_9 --program-suffix=-4.9 --enable-languages=c,c++ --enable-multilib --build=x86_64-linux-gnu --enable-checking=release 
  • 开始编译,-j4表示使用4个线程。在我的电脑上(intel i3)用了50多分钟。
make -j4
  • 安装与验证
make install

/opt/gcc_4_9/bin/g++-4.9 --version


我花了大半天时间才弄好。开始我根据网上的中文教程,自己下载编译gmp, mpfr, mpc。make的时候总是出错。后来再搜才搜到使用 download_prerequisites 的方法安装依赖。但是 flex 和 bison 的依赖还是要装的。


本文地址:http://zisxks.com/2014/04/11/compile-and-install-GCC-4.9-in-Ubuntu-12.04
分享到 Share: 0

欢迎转载,转载请注明作者及出处zisxks.com,请勿用于商业用途