17

我正在使用 Netbeans 7.2,并且我已经使用 Cygwin 安装程序下载了 GCC 4.7。我还将这些目录添加到了我的 PATH 中,并且我相信在 NetBeans 中适当地配置了这些设置。无论我做什么,我都会收到错误:-std=c++11 notrecognized。

来自我需要使用的源代码的这一行特别引起了问题:

using size_type = long unsigned int;

这是特定于 c++11 语法的吗?

4

2 回答 2

27

使用 GCC 4.7.2,如果您使用 -std=c++11 它会编译

C:\Users\ferenc>type using_test.cpp
#include <iostream>

using size_type = long unsigned int;

int main(int argc,char* argv[])
{
        std::cout<<sizeof(size_type)<<std::endl;
        return 0;
}

C:\Users\ferenc>g++ -std=c++11 using_test.cpp

C:\Users\ferenc>a.exe
4

C:\Users\ferenc>
  1. 确保您已将 NetBeans 指向正确的 MinGW 版本。为此,请转到Project Properties > Build > Tool Collection > ... > Tool Collection Manager,然后您可以将路径设置为正确的 g++ 版本。

  2. 确保您设置了正确的编译器选项:

    Project Properties > Build > C++ Compiler >

    Compilation Line > Additional Options

    将其设置为:-std=c++11

于 2013-02-14T04:15:36.890 回答
5

更简单的步骤:

  1. 打开项目
  2. 文件菜单 > 项目属性
  3. 在构建 > C++ 编译器 > C++ 标准 > C++14/C++11 下
于 2017-05-06T09:42:28.427 回答