2018-01-17

昨天在 VMware 14 上装了 CentOS,准备用来学习 C 语言,然后要是使用

yum  groupinstall Development tools

安装整组开发工具 (包含 gcc) 的话,gcc 的版本太低了,所以就选择下载最新版的 gcc 源码编译安装。

编译安装 gcc ,要求要有 gcc 编译器,所以上面的命令在你没有安装 gcc 时是必须的, 否则会报错说没有 gcc。

注: 如果权限不够,就要在命令前面 sudo 或者 切换到 root 用户

1. 下载源码

wget https://mirrors.ustc.edu.cn/gnu/gcc/gcc-7.2.0/gcc-7.2.0.tar.xz

2. 解压源码

tar xvf gcc-7.2.0.tar.xz

cd gcc-7.2.0 (进入目录后,才可以添加依赖)

3. 添加依赖

./contrib/download_prerequisites

注: 包含(gmp,mpfr,mpc)

4. 编译安装

mkdir gccbuild
cd gccbuild
../configure --prefix=/home/oldbiwang/gcc/gcc-7.2.0/ --enable-
checking=release --enable-languages=c,c++ --disable-multilib

其中 --prefix=/home/oldbiwang/gcc/gcc-7.2.0/ 指定安装路径, --enable-checking=release 检查内部错误, 我不写的时候是编译错误的。

--enable-checking=release

When you specify this option, the compiler is built to perform internal consistency checks of the requested complexity. This does not change the generated code, but adds error checking within the compiler. This will slow down the compiler and may only work properly if you are building the compiler with GCC. (release’ (cheapest checks ‘assert,runtime’) )

--enable-languages=c,c++ 指定支持的语言, --enable-checking=release 选项

that multiple target libraries to support different target variants, calling conventions, etc. should not be built. The default is to build a predefined set of them.

多个目标库为了支持不同的目标变量,调用约定等等。胡乱翻译一下。不提倡创建,所以 disabled。

接下来是安装了

make -j4
sudo make install

make -j4 这个命令跑了一个钟吧,可能是我的电脑太渣了,编译了好久。

5. 添加路径到 PATH

5.1 这种是一次性配置,关机重启之后就得重新配置

export PATH=/usr/local/gcc-7.2.0/bin:$PATH

5.2 不建议上面的配置,我们可以编辑 ~/.bashrc, 加上上面一行 export PATH=/usr/local/gcc-7.2.0/bin:$PATH

sudo vi ~/.bashrc

总结: gcc 到这里就安装完毕了, 输入 gcc -version

[oldbiwang@192 etc]$ gcc --version                                                                             
gcc (GCC) 7.2.0                                                                                                
Copyright © 2017 Free Software Foundation, Inc.                                                                                                                                                 
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;                                                                                                                                  
包括没有适销性和某一专用目的下的适用性担保。

参考文章
linuxgcc
installgcc

你可能感兴趣的:(2018-01-17)