13

我想使用 VS express 2005 编译我很久以前拥有的代码。代码需要 windows.h,它不是 VS 2005 的一部分,我发现我需要安装平台 SDK。但我找不到适用于 Windows XP 的平台 SDK。我在哪里可以下载这个平台 SDK?我在哪里可以找到 windows.h?

4

5 回答 5

13

您无需查找适用于 Windows XP 的 SDK。Windows SDK 的每个版本都针对最新版本的 Windows 以及几个以前的版本。除非您的目标是旧版本的操作系统,否则您应该始终安装最新版本的 SDK。在这一点上,Windows XP 还不算数。

您需要做的就是确保在编译项目时设置适当的目标版本。要面向 Windows XP,您应该简单地定义WINVER为版本 0x0501,如下所示:

#define WINVER 0x0501

您可以使用此处的标题找到有关针对特定 Windows 版本的更多信息。

您可以在这里下载最新的 SDK:http: //msdn.microsoft.com/en-us/windows/bb980924

于 2011-04-20T11:20:13.380 回答
9

看看http://en.wikipedia.org/wiki/Microsoft_Windows_SDK

或直接从cnet下载为 iso

于 2011-04-20T09:30:14.600 回答
5

以防万一有人真的需要旧的 SDK,这里是 2003 年 2 月的一个:

http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.1.cab
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.2.cab 
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.3.cab    
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.4.cab    
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.5.cab    
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.6.cab    
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.7.cab    
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.8.cab    
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.9.cab    
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.10.cab    
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.11.cab    
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.12.cab    
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.13.cab    
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.bat    
http://download.microsoft.com/download/platformsdk/sdk/update/win98mexp/en-us/3790.0/FULL/extract.exe
于 2016-10-22T19:07:40.683 回答
-1

Visual Studio Express - 包括 2005 在内的所有版本 - 安装必要的平台 SDK 文件来构建 Windows 目标。

如果项目向导 (that #include <windows.h>) 生成的项目不起作用,那么您已经以某种方式损坏了安装。

于 2011-04-20T11:50:07.907 回答
-1

如果您使用的是 c++,则始终可以使用以下代码行以 windows xp - windows 10 为目标。

/**
 * Copyright (c) 2014 - 2016, Dark Edge Studios, All Rights Reserved.
 *
 * Authors
 * - Daniel I. Dorn <danieldorn1797@hotmail.com>
 *
 * The following code example is under the terms of the ZLIB / LIB PNG
 * License please only use as license permits.
 */

 #ifndef YourIncludeGaurds
 #define YourIncludeGaurds

 /* Check if Windows */
 #if defined(_WIN32) || _WIN64

     /* sdkddk Header File */
     #include <sdkddkver.h>

     /**
      * Windows XP
      */
     #if defined(_WIN32_WINNT) && NTDDI_VERSION == 0x05010000

     #endif /* Windows XP */

     /**
      * Windows Vista
      */
     #if defined(_WIN32_WINNT) && NTDDI_VERSION == 0x06000000

     #endif /* Windows Vista */

     /**
      * Windows 7
      */
     #if defined(_WIN32_WINNT) && NTDDI_VERSION == 0x06010000

     #endif /* Windows 7 */

     /**
      * Windows 8
      */
     #if defined(_WIN32_WINNT) && NTDDI_VERSION == 0x06020000

     #endif /* Windows 8 */

     /**
      * Windows 8.1
      */
     #if defined(_WIN32_WINNT) && NTDDI_VERSION == 0x06030000

     #endif /* Windows 8.1 */

     /**
      * Windows 10
      */
     #if defined(_WIN32_WINNT) && NTDDI_VERSION == 0x0A000000

     #endif /* Windows 10 */

 #endif /* Windows */

 #endif /* YourIncludeGaurds */

希望这有助于解释一些事情(=

于 2016-02-14T05:34:51.023 回答