我得到的错误在这里:
#if defined( _WIN32 )
#ifndef WIN32
#error error // error calls here
#endif
我在MS VS2008中编写了一个可以正常工作的程序,但是当我将它转移并在MS VS2010中编译时,我遇到了一堆错误。
我包含的一些头文件和库如下:
#include stdlib.h
#include stdio.h
#include stdlib.h
#include io.h
#include math.h
#include mmsystem.h
#include iostream
#pragma comment(lib, "winmm.lib")
#pragma comment(lib, "odbc32.lib")
#pragma comment(lib, "odbccp32.lib")
现在,我认为问题是这样的。在VS2008中,当我右键单击mmsystem.h并说“打开包含文件夹”时,它指向我:C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include
在VS2010中,当我这样做时,它指向我:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include
v6.0A\Include
而不是v7.0A\Include
?由于
答案 0 :(得分:1)
您可以在项目属性中更改项目的包含文件夹路径,但很可能错误不是来自包含的标题,而是因为在Visual Studio 2010中,C ++编译器已更改为对某些编码样式更严格,而不是之前被认为是错误的。
在大多数情况下,新编译器虽然更严格,但会强制您编写更好的代码。
但是,要确定,您能否发布您正在获得的特定编译时错误?
如果您尝试change the include directories in Visual Studio 2010 when coming from Visual Studio 2008,这里的链接也可能对您有用。
答案 1 :(得分:0)
我终于明白了。在属性 - > C / C ++ - >预处理器 - >预处理器定义添加WIN32