我想使用VS express 2005编译我很久以前的代码。 代码需要windows.h,它不是VS 2005的一部分,我发现我需要安装平台SDK。 但我找不到适用于Windows XP的平台SDK。我在哪里可以下载这个平台SDK? 我在哪里可以找到windows.h?
答案 0 :(得分:13)
您不需要找到适用于Windows XP的SDK。 Windows SDK的每个版本都以最新版本的Windows以及多个先前版本为目标。您应该始终安装最新版本的SDK,除非您的目标是极旧版本的操作系统。在这一点上,Windows XP还不算数(还)。
您需要做的就是确保在编译项目时设置适当的目标版本。要定位Windows XP,您只需将WINVER
定义为版本0x0501,如下所示:
#define WINVER 0x0501
您可以使用标题here找到有关定位特定Windows版本的详细信息。
您可以在此处下载最新的SDK:http://msdn.microsoft.com/en-us/windows/bb980924
答案 1 :(得分:9)
答案 2 :(得分:4)
以防有人真正需要一个旧的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
答案 3 :(得分:0)
如果您使用的是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 */
希望这有助于解释一些事情(=
答案 4 :(得分:-1)
Visual Studio Express - 包括2005在内的所有版本 - 安装必要的平台SDK文件以构建Windows目标。
如果项目向导(#include <windows.h>
)生成的项目不起作用,您就会以某种方式损坏安装。