c ++ mingw STL安装

时间:2012-08-25 18:24:14

标签: c++ windows stl mingw

我最近在我的Windows 32机器上安装了MinGW和MSYS,它似乎运行良好。

在C ++编译器上,我包含一个向量容器并且没有错误。但是当我尝试使用它时,我得到了编译时错误。

所以,代码

#include <vector>  // include vector.h  
#include <stdio.h>  // include stdio.h

using namespace std;

main()  {

//   vector<int> A;  

printf("\nHeya ..");

}

运行得很好。但是,当我取消注释第8行 - 向量声明行时,我在编译时得到以下错误(缩短):

undefined reference to 'operator delete(void*)'
undefined reference to '__gxx_personality_v0'

2 个答案:

答案 0 :(得分:8)

您可能正在使用gcc而不是g++进行编译。实际的编译器是相同的,但是g++告诉链接器使用默认的C ++库,gcc只告诉它查看C库。只要您使用标准库的C ++特定部分,gcc就会失败。

顺便说一句,C ++不支持旧C的default int规则,因此您应该从main指定返回类型。

答案 1 :(得分:0)

我不知道你是如何编译你的代码的。您的主要方法无效,签名不正确,您没有返回任何内容。

应该是这样的:

#include <vector>  // include vector.h  
#include <stdio.h>  // include stdio.h

using namespace std;

int main(int, char**)  {

//   vector<int> A;  

printf("\nHeya ..");
return 0;
}

此外,您需要使用g ++而不是gcc编译它。