我从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退出状态
我做了什么
我是否需要添加另一个包含文件才能使其正常工作?
答案 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作为默认模式。)