赞
踩
正常联网情况下,在Centos系统中,我们可以使用yum命令很方便的从网络自动下载和安装gcc编译器。但是,由于各种原因,在实际使用中,Centos系统系统不允许介入互联网。所以只能自己手动下载,上传至服务器,再自己安装编译器。
网上可以找到教程说明,为了避免安装过程中出现的,关联性问题,缺少文件问题,可以通过教程办法进行强制安装,可能更加简单方便。如下为依次下载依赖,进行安装。
去官网网站https://ftp.gnu.org/gnu/gcc/下载gcc编译器。不过由于速度太慢,我们可以选择国内的清华源镜像https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/下载,速度很快。我下载了gcc-4.9.4版本的编译器。
将自己手动下载的安装包上传至局域网内部的服务器。并通过下面的命令解压
tar -jxvf gcc-4.9.4.tar.bz2
tar解压命令的参数含义可以参考tar解压命令
进入解压好的文件,查找contrib文件夹下的download_prerequisites文件
cd gcc-4.9.4
cat ./contrib/download_prerequisites
这个文件告诉了我们gcc安装需要的包(prerequisites),打开该文件,提示我需要三个包
# Necessary to build GCC.
MPFR=mpfr-2.4.2
GMP=gmp-4.3.2
MPC=mpc-0.8.1
上述需要的包以及版本,应该根据自己解压后文件提示进行下载。文件还会提供下载链接,我的分别为:
下载好相应的文件后,上传到服务器,然后进行解压
tar -xjf mpfr-2.4.2.tar.bz2 || exit 1
tar -xjf gmp-4.3.2.tar.bz2 || exit 1
tar -xzf mpc-0.8.1.tar.gz || exit 1
解压之后,要进行链接。
ln -sf mpfr-2.4.2 mpfr || exit 1
ln -sf gmp-4.3.2 gmp || exit 1
ln -sf mpc-0.8.1 mpc || exit 1
或者也可以采用将解压文件移动到gcc子目录下的做法。
mv mpfr-2.4.2 gcc-4.9.4/mpfr
mv gmp-4.3.2 gcc-4.9.4/gmp
mv mpc-0.8.1 gcc-4.9.4/mpc
建立编译输出目录,将所有的中间文件都存放在该目录
mkdir gcc-build-4.9.4
cd gcc-build-4.9.4
然后进行配置
参数解释:
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
–enable-checking=release 增加一些检查,也可以–disable-checking生成的编译器在编译过程中不做额外检查
–enable-languages=c,c++ 你要让你的gcc支持的编程语言
–disable-multilib 取消多目标库编译(取消32位库编译)
成功生成了Makefile文件,接下来进行编译:
make
编译会花很长的时间。在编译完成后,可以选择删除原来的gcc。当然不用删除也行,会自动覆盖掉旧版本。
找到已经安装的gcc
rpm -q gcc
rpm -q gcc-c++
删除低版本的
rpm -e [包名]
其中包名为上一步查询得到的名称。
使用如下命令进行安装
sudo make install
查看自己安装的gcc位置
which gcc
如果gcc -v命令,没有输出版本信息,需要手动添加gcc环境变量。gcc一般安装目录为/usr/local/bin
export PATH=$PATH:/usr/local/bin
gcc -v
打印成功安装的信息:
使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.9.4/lto-wrapper
目标:x86_64-unknown-linux-gnu
配置为:../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
线程模型:posix
gcc 版本 4.9.4 (GCC)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。