Microsoft SDK版本

时间:2011-03-21 16:01:11

标签: c++ visual-studio-2010 winapi

我得到的错误在这里:

#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

  1. 这可能是错误的来源,
  2. 我怎样才能让VS2010指向v6.0A\Include而不是v7.0A\Include
  3. 由于

2 个答案:

答案 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