首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在gcc中启用C++11?

如何在gcc中启用C++11?
EN

Stack Overflow用户
提问于 2013-06-03 03:42:17
回答 3查看 314.2K关注 0票数 125

我在Mac Lion上使用http://hpc.sourceforge.net的gcc 4.8.1。我正在尝试编译一个使用<string>中的to_string函数的C++程序。我每次都需要使用标志-std=c++11

g++ -std=c++11 -o testcode1 code1.cpp

有没有办法在默认情况下包含这个标志?

EN

回答 3

Stack Overflow用户

发布于 2014-01-13 06:05:57

如前所述-在项目、Makefile或其他情况下,这是一个项目配置问题,您可能还需要指定其他标志。

但是,如果是一次性程序,通常只需要编写g++ file.cpp && ./a.out就可以了

嗯,我非常希望有一些#pragma可以在源代码级别打开,或者可能是一个默认的扩展-比如.cxx.C11或其他什么,默认情况下触发它。但到今天为止,还没有这样的功能。

但是,由于您可能是在手动环境(即shell)中工作,所以您可以在.bashrc (或其他任何环境)中使用别名:

alias g++11="g++ -std=c++0x"

或者,对于较新的G++ (当您想要感受“真正的C++11”时)

alias g++11="g++ -std=c++11"

如果您如此讨厌C++03,您甚至可以使用g++本身的别名;)

票数 25
EN

Stack Overflow用户

发布于 2015-12-31 01:11:50

我认为您可以使用specs文件来完成此操作。

在MinGW下,你可以运行

gcc -dumpspecs >规格

上面写着

*cpp:
%{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT}

您可以将其更改为

*cpp:
%{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT} -std=c++11

然后把它放在

/mingw/lib/gcc/mingw32//specs

我确信您可以在没有MinGW构建的情况下完成同样的工作。但是不确定将specs文件放在哪里。

文件夹可能是/gcc/lib/或/gcc/。

票数 7
EN

Stack Overflow用户

发布于 2020-02-08 01:07:11

如果您正在使用sublime,那么如果您将其作为构建系统的代码添加到build中,则此代码可能会起作用。您可以使用this link了解更多信息。

{
    "shell_cmd": "g++ \"${file}\" -std=c++1y -o \"${file_path}/${file_base_name}\"",
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.c, source.c++",

    "variants":
    [
        {
            "name": "Run",
            "shell_cmd": "g++ \"${file}\" -std=c++1y -o \"${file_path}/${file_base_name}\" && \"${file_path}/${file_base_name}\""
        }
    ]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16886591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档