【问题标题】:How to change mode from c++98 mode in Dev-C++ to a mode that supports C++0x (range based for)?如何将模式从 Dev-C++ 中的 c++98 模式更改为支持 C++0x 的模式(基于范围)?
【发布时间】:2020-07-04 10:04:32
【问题描述】:

我只是在学习如何编写基于范围的 for 循环,但唯一的问题是我的编译器 Orwell Dev-C++ 在其默认模式(即 c++98)下似乎不支持它。如何将此模式更改为另一种支持此功能(以及 C++0x 的其他功能)的模式。谢谢。另外:

这是错误消息:[错误] C++98 模式中不允许基于范围的 for 循环

我运行的是 Windows 8

我的 Dev C++ 版本是 5.3.0.3

并且编译器是 TDM-GCC 4.6.1 64 位。

谢谢大家

【问题讨论】:

    标签: c++ c++11 compiler-construction dev-c++


    【解决方案1】:

    转到工具->编译器选项->“编译器”选项卡

    选中标记为“调用编译器时添加以下命令”的复选框 并在文本输入框中添加“-std=c++11”或者如果这不起作用“-std=C++0x

    反正应该是这样的,我已经很多年没有安装Dev C++了,所以我不得不在谷歌上看一些截图来记住。

    【讨论】:

    • 嗯....似乎不起作用。错误消息是:[错误]无法识别的选项'-static-libgcc-std=c++0x'
    • 哦...我做错了。它确实有效。非常感谢。
    • @user2457666 如果此答案对您有用,则应将其标记为已接受(使用左侧的复选标记,就在收到的票数下方)。
    • 感谢@Jamin Grey,它对我有用。这是编译器选项中的屏幕截图。 i.postimg.cc/SR12Zm6P/Capture.png
    【解决方案2】:

    在 Code::Blocks 中遇到了同样的问题。要解决此问题,请在 Build Options->Compiler Flags 中勾选“让 g++ 遵循 c++11 ISO C++ 语言标准 [-std=c++11]”

    【讨论】:

      【解决方案3】:
      1. 从以下链接下载 http://orwelldevcpp.blogspot.in/2015/04/dev-c-511-released.html

      2. 转到工具->编译器选项->程序

      并添加-std=c++11

      看图

      【讨论】:

        【解决方案4】:

        在 Dev C++ 5.2.0.3 中,只需转到工具->编译器选项->设置->代码生成即可 并将 语言标准 (-std) 设置为 ISO C++11

        【讨论】:

          【解决方案5】:

          在 Dev-C++ 5.11 中,新标签中出现如下错误:

          此文件需要对 ISO C++ 2011 标准的编译器和库支持。此支持目前处于试验阶段,必须使用 -std=c++11-std=gnu++11 编译器选项启用。

          为此,您必须遵循四个简单的步骤:

          1. 转到工具选项卡
          2. 选择编译器选项..
          3. 转到常规选项卡
          4. 勾选“调用编译器时添加以下命令”复选框,写下这条语句-std=c++11,然后按OK

          结论:错误已消除

          【讨论】:

            【解决方案6】:

            默认情况下,不支持最新版本的 C++。应通过以下方式显式启用:

            在这里,选择“设置”选项卡,然后在其中选择“代码生成”选项卡。在那里,在“语言标准(-std)”中选择“ISO C++ 11”:

            好的。您现在已准备好编译 C++11!

            【讨论】:

              【解决方案7】:

              测试于:Dev-C++ 5.11


              如果您想使用 c 而不是 c++ 进行编码并且遇到此问题,请执行以下步骤:

              1. 工具 > 编译器选项 > 设置选项卡 > 代码生成
              2. “语言标准(-std)”设置为“ISO C99”

              尽管它现在对您有效,但您仍然会收到警告。

              【讨论】:

                猜你喜欢
                • 2020-11-28
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2012-03-19
                • 2016-05-14
                • 2013-09-27
                相关资源
                最近更新 更多