美文网首页
2018-01-17

2018-01-17

作者: oldbiwangcjc | 来源:发表于2018-01-17 15:11 被阅读0次

    昨天在 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

          本文链接:https://www.haomeiwen.com/subject/vzkuoxtx.html