Centos7.2 | gcc4.8升级为4.9
环境
- CentOS 7.2.1511
- Docker
我是用 docker 拉取镜像 CentOS 7.2.1511
, 利用容器来作为我的开发环境。有条件的也可以用虚拟机或者实体机器。原理都一样。
$ docker
$ yum update && yum install gcc gcc-c++ make zlib-devel.x86_6
下载依赖包
升级 gcc, 下载安装包下载依赖。
$ wget http://ftp.gnu.org/gnu/gcc/gcc-4.9.3/gcc-4.9.3.tar.bz2
$ tar xfv gcc-4.9.3.tar.bz2 && cd gcc-4.9.3
$ ./contrib/download_prerequisites
如果连接失败,无法下载的话,就打开此文件,手动下载下面5个文件,然后将文件放在gcc根目录,再屏蔽contrib/download_prerequisites文件里面的wget操作,再重新执行一次./contrib/download_prerequisites
。这样的话,后面编译gcc
时,这几个依赖库会自动先编译,不用自动手动一个个编译。
cloog-0.18.1.tar.gz
gmp-4.3.2.tar.bz2
isl-0.12.2.tar.bz2
mpc-0.8.1.tar.gz
mpfr-2.4.2.tar.bz2
编译
创建编译目录,开始编译
$ cd .. && mkdir build-gcc && cd build-gcc
$ ../gcc-4.9.3/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++ --enable-plugin --enable-initfini-array --disable-libgcj --enable-gnu-indirect-function --with-tune=generic --disable-multilib
$ make -j4 && make install
编译时间有点长,请耐心等待
说明
gcc 编译配置参数说明:
- –enable-languages: 指定 gcc 能编译哪些语言的文件,每种语言用逗号分隔, 例如 c,c++,Java
- –disable-multilib: 默认gcc 能在32位系统上将代码编译成64位程序,或者在64位系统上编译成32位程序,如果加上这个编译选项则表示关闭这个gcc的交叉编译功能。
--完--
- 原文作者: 留白
- 原文链接: https://zfunnily.github.io/2021/09/upgradegcc/
- 更新时间:2024-04-16 01:01:05
- 本文声明:转载请标记原文作者及链接