#include “targetver.h”
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <vector>
#define _DLLAPI extern “C” __declspec(dllexport)
_DLLAPI void _stdcall snfdfkxhb()
{
std::vector<int> fd;
}
用的是VS2010,编译的时候报错:
error C2039: “vector”: 不是“std”的成员
error C2065: “vector”: 未声明的标识符
error C2062: 意外的类型“int”
在公司和家里都不行,还请高手分析一下问题出在哪了,谢谢.
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <vector>
#define _DLLAPI extern “C” __declspec(dllexport)
_DLLAPI void _stdcall snfdfkxhb()
{
std::vector<int> fd;
}
用的是VS2010,编译的时候报错:
error C2039: “vector”: 不是“std”的成员
error C2065: “vector”: 未声明的标识符
error C2062: 意外的类型“int”
在公司和家里都不行,还请高手分析一下问题出在哪了,谢谢.
解决方案
8
源文件保存是.c吗?应该保存为.cpp或是按照C++规则编译。
8
光从你贴出来的这段代码不好判断,原因是你这段代码没有任何语法问题。
8
看报错这是按c语言来编译的结果。
概然是用std的东西,就要用c++的方式编译。
概然是用std的东西,就要用c++的方式编译。
8
IAR 编译器的vector是不在std里。IAR没std。但vs2010能遇到这问题就奇怪了。
8
那你搜索下预编译头就了解了,一般是部分不常修改的代码或包含代码进行预编译,可以节省编译时间!