环境: CentOS-6.5 , gcc-4.4.7 系统必须已经安装有一个编译器,因为 gcc也是需要编译的,建议用root进行安装
首先 gcc 编译需要三个额外库,下载并按照下面的顺序安装它们,如下:
准备工作:
编译安装 gmp
# tar -zxvf gmp-5.1.3.tar.gz
# cd gmp-5.1.3
# ./configure
# make && make install
编译安装 mpfr
# tar -zxvf mpfr-3.1.2.tar.gz
# cd mpfr-3.1.2
# ./configure
# make && make install
编译安装 mpc
# tar -zxvf mpc-1.0.tar.gz
# cd mpc-1.0
# ./configure
# make && make install
编译安装gcc
- 首先下载源代码
wget http://ftp.gnu.org/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.bz2
- 解压
tar -jxvf gcc-4.9.2.tar.bz2
- 下载编译所需的依赖项
cd gcc-4.9.2
./contrib/download_prerequisites
cd ..
- 建立编译输出目录
mkdir gcc-build-4.9.2
- 进入此目录,执行以下命令,生成makefile文件
cd gcc-build-4.9.2
../gcc-4.9.2/configure--enable-checking=release --enable-languages=c,c++ --disable-multilib
gcc 编译参数说明:
–enable-languages //指定 gcc 能编译哪些语言的文件,每种语言用逗号分隔, 例如 c,c++,Java
–disable-multilib //默认gcc 能在32位系统上将代码编译成64位程序,或者在64位系统上编译成32位程序,如果加上这个编译选项则表示关闭这个gcc的交叉编译功能。
- 执行以下命令进行编译
make -j4 //机器是双核,故用j4能加快编译速度
期间出现了如下问题
错误一:
configure: error: C++ compiler missing orinoperational
make[2]: \*** [configure-stage1-libcpp]Error 1
make[2]: Leaving directory`/home/liukk/gcc-4.8.1'
make[1]: \*** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/liukk/gcc-4.8.1'
make: \*** [all] Error 2
解决办法:
安装gcc-c++:
yum install gcc-c++
评论区