gcc在c ++ 11编译时给出了垃圾

Bry*_*und -1 c++ gcc c++11

我打赌这个问题的解决方案很简单,但我想知道为什么我不能让gcc编译我的c ++ 11代码.

编辑:删除代码以简化问题.任何程序都会复制相同的错误.

我在这里使用gcc编译器4.7作为下载:https : //code.google.com/p/mingw-builds/downloads/detail? name = x86_64 -mingw32-gcc-4.7.0-release-c%2Cc%2B %2B%2Cfortran-sjlj.zip&can = 2&q =.

我用来编译的命令很简单gcc Swamp.cpp -std=c++11.如果我编译,代码只会抱怨c ++ 11的东西gcc Swamp.cpp.

在我看来,编译给出的错误是垃圾:

 C:\Users\Owner\Documents\GitHub\CompetitiveProgramming\TestProject\CodeProject>gcc Swamp.cpp -std=c++11
 C:\Users\Owner\AppData\Local\Temp\ccRKn67x.o:Swamp.cpp:(.text+0x67): undefined reference to `__gxx_personality_sj0'
 C:\Users\Owner\AppData\Local\Temp\ccRKn67x.o:Swamp.cpp:(.text+0x30e): undefined reference to `__gxx_personality_sj0'
 C:\Users\Owner\AppData\Local\Temp\ccRKn67x.o:Swamp.cpp:(.text+0x72e): undefined reference to `__gxx_personality_sj0'
 C:\Users\Owner\AppData\Local\Temp\ccRKn67x.o:Swamp.cpp:(.text+0x78a): undefined reference to `std::cout'
 …etc…
Run Code Online (Sandbox Code Playgroud)

Som*_*ude 7

有用于编译的C++代码与GCC两个不同的命令,gccg++.差别实际上只是g++与C++运行时库自动链接,而gcc不是.

错误都是关于GCC C++运行时库中缺少的符号,与您使用的C++ 11功能无关.要修复错误,您需要手动自己链接C++运行时库,或使用g++命令自动处理它.