您的位置:首页 > 运维架构 > Linux

CentOS 6.5 编译安装 gcc-4.9.2

2015-05-12 10:20 363 查看
首先 gcc 编译需要三个额外库,下载并按照下面的顺序安装它们,如下:1. gmp     ftp://ftp.gnu.org/gnu/gmp2. mpfr     ftp://ftp.gnu.org/gnu/mpfr3. mpc     http://www.multiprecision.org/mpc

准备工作: 注:上次安装时,准备工作可以不做。

1. 编译安装 gmp

# tar -zxvf gmp-5.1.3.tar.gz# cd gmp-5.1.3# ./configure# make && make install

2. 编译安装 mpfr

# tar -zxvf mpfr-3.1.2.tar.gz# cd mpfr-3.1.2# ./configure# make && make install

3. 编译安装 mpc

# tar -zxvf mpc-1.0.tar.gz# cd mpc-1.0# ./configure# make && make install

1.首先下载源代码

wgethttp://ftp.gnu.org/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.bz2

2.解压

tar -jxvf gcc-4.9.2.tar.bz2

3.下载编译所需的依赖项

cd gcc-4.9.2 ./contrib/download_prerequisites cd ..

4.建立编译输出目录

mkdir gcc-build-4.9.2

5.进入此目录,执行以下命令,生成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的交叉编译功能。

6.执行以下命令进行编译

make -j4 //机器是双核,故用j4能加快编译速度 去喝个咖啡聊聊天,然后就编译好了 期间出现了如下问题 错误一:configure: error: C++ compiler missing orinoperationalmake[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 解决办法:安装如下内容:yum install gcc-c++ 错误二: 原因是:阿里云最低配置服务器,单核、512MB物理内存,内存不足导致的,由于阿里云的CentOS镜像没有划分SWAP分区,后来添加了Swap区,报错依旧。原来是/etc/sysctl.conf中设置的swappiness的值为0,这个值的默认值应该是60,报错解决 C++11标准在2011年8月份获得一致通过,这是自1998年后C++语言第一次大修订,对C++语言进行了改进和扩充。随后各编译器厂商都各自实现或部分实现了C++中的特性。目标:升级GCC到4.8.2,以支持C++11。1. 获取GCC 4.8.2包:wget http://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz;2. 解压缩:tar -xf gcc-4.8.2.tar.gz;3. 进入到目录gcc-4.8.2,运行:./contrib/download_prerequisites。这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。4. 编译安装 gccgcc 编译参数说明: --prefix //默认 gcc 的安装目录,CentOS-6.5 下面最好安装到 /usr 下,不然可能会有问题 --enable-languages //指定 gcc 能编译哪些语言的文件,每种语言用逗号分隔, 例如 c,c++,java --disable-multilib //默认gcc 能在32位系统上将代码编译成64位程序,或者在64位系统上编译成32位程序,如果加上这个编译选项则表示关闭这个gcc的交叉编译功能。# tar -zxvf gcc-4.8.2.tar.gz # cd gcc-4.8.2 # mkdir build # cd build # ../configure --prefix=/usr # make && make install注意: 当 gmp、mpfr、mpc 编译的时候是自定义指定的安装路径,在编译 gcc 时需要加上下面的选项: --with-mpc=MPC的安装目录 --with-mpfr=MPFR的安装目录 --with-gmp=GMP的安装目录5. 验证:gcc -v;或者g++ -v,如果显示的gcc版本仍是以前的版本,就需要重启系统;或者可以查看gcc的安装位置:which gcc;然后在查看版本 /usr/local/bin/gcc -v,通常gcc都安装在该处位置,如果显示为; 则表示已经升级成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: