c++11&14-编译

作者: cpp加油站 | 来源:发表于2019-07-08 15:40 被阅读20次

    1. c++11&14怎么编译

    学习c++11的时候,我的redhat虚拟机上的g++才是4.1.2版本,而g++4.7版本才开始支持c++11的,所以要使用c++11,首先需要将我们的g++编译器升级到4.7或者以上版本,这里我选择的是GCC的 7.1.0版本。

    注意:大意义上来讲,GCC是一个编译器集合,拿到源代码后编译出来各种编译器,如果我们选择编译c,c++的编译器,就会生成gcc和g++。这里的gcc是专门正对于c代码的编译器,g++则是专门针对于c++代码的编译器,gcc和g++最显著的区别是g++会调用-lstdc++库,gcc不会。

    1.1 g++升级

    1.1.1 下载gcc
    wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-7.1.0.tar.bz2
    tar -jxvf gcc-7.1.0.tar.bz2
    
    1.1.2 下载编译gcc时需使用的依赖项
    cd gcc-7.1.0
    ./contrib/download_prerequisites //这个脚本会自动下载依赖项,但耗时很长,先去吃饭了
    
    1.1.3 生成makefile文件及编译安装

    建立一个单独的目录用于存放编译生成文件

    mkdir gcc-build-7.1.0
    cd gcc-build-7.1.0
    ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
    make -j4
    make install
    

    此时使用g++ --version,就可以看到版本已经是7.1.0了。

    1.2 c++11编译

    一般的,我们要编译c++11,都要使用g++ -std=c++11,但据我测试,7.1.0的版本已经默认支持c++11和c++14了,所以就不用再写明-std=c++11的选项了,可以直接使用g++编译c++11或者c++14的代码啦,当然如果想知道某个特性到底是属于c++11还是c++14,就可以使用-std=c++11和-std=c++14来辨别。

    更多c++系列文章,请关注我的公众号:晟夏的叶。

    晟夏的叶

    相关文章

      网友评论

        本文标题:c++11&14-编译

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