无法开始使用ISOCPP.net C ++ build for windows(nuwen)

时间:2016-06-07 12:54:08

标签: c++ compiler-errors mingw

我从isocpp.org 'Get started'设置了一个最小的MinGW(nuwen),这是为windows编译的gcc版本6.1.0

这是我的代码

#include <stdio.h>
#include <string>

int main (int argc, char* argv[]) {
    printf ("hello world\n");

    std::string mystring {"my string"};

}

我一直收到以下错误(等等)

  

C:\ util \ MinGW \ proj&gt; gcc main.cpp

     

C:\ Users \ gmyer \ AppData \ Local \ Temp \ ccXSjGdh.o:main.cpp :(。text + 0x2e):对`std :: allocator :: allocator()&#39;的未定义引用collect2.exe:错误:ld返回1退出状态

我做了什么

  • 检查包含目录中是否存在该字符串文件 CPLUS_INCLUDE_PATH = C:\ UTIL \ MinGW的\包括; C:\ UTIL \ MinGW的\包括\对FreeType2 C_INCLUDE_PATH = C:\ UTIL \ MinGW的\包括; C:\ UTIL \ MinGW的\包括\对FreeType2
  • 检查了分配器是否存在于&#39;字符串&#39;文件

我是否需要添加另一个包含文件才能使其正常工作?

1 个答案:

答案 0 :(得分:1)

您应该使用g++编译代码(请参阅Compiling a C++ program with gcc)。

还可以使用--std=c++11开关(g++ --std=c++11)或更改

std::string mystring {"my string"};

std::string mystring = "my string";

uniform initialization是C ++ 11的功能,Nuwen MinGW Distro v 14.0使用C ++ 03作为默认模式。)